集合进阶
ArrayList 创建对象 1ArrayList< String > list = new ArrayList<>(); 添加 1list.add(" "); 删除 12list.remove(" ");此处可以填具体存在的值或者是索引 修改 1list.set( 索引, 要修改的值) 查询 1list.get(索引) List系列集合:添加的元素是有序,可重复,有索引有序:输入的和输出的是一样(即输入1,2,3,就输出1,2,3)可重复:元素可重复有索引:可以通过索引获取每个元素 Set系列集合:无序,不重复,没索引无序:存和取的顺序有可能不同 Collection因为Collection是一个接口,所以不能直接创建它的对象,因此只能创建实现类的对象ArrayListCollection< String > coll = new...
正则表达式
1.正则表达式用.matches,返回boolean 正则表达式是从左往右检查的,且一个[]只对应一个字符如: “a”.matches(“[abc]”) 为 true, 但”ab”.matches(“[abc]”)为false,因为”b”无法判断 2.爬虫假如有一段字符串String str = “ Java自从95年问世以来,经历了很多版本,目前企业中用的最多的是Java8和Java11, “ +“因为这两个是长期支持版本,下一个长期支持版本是Java17,相信在未来不久Java17也会逐渐登上历史舞台“;”要找出里面所有的JAVAXX 方法://获取正则表达式的对象Pattern p = Pattern.compile(“JAVA\d{0,2}”); //再获取文本匹配器的对象Matcher m = p.matcher(str); //之后文本匹配器会从头开始检查时候符合,符合的话返回true,反之返回false】boolean b =...
排序
冒泡排序 12345678910111213141516171819202122232425262728void BubbleSort(int* a, int n) { // 冒泡排序法,添加数组长度参数 for (int i = 0; i < n - 1; i++) { for (int j = 1; j < n - i; j++) { if (a[j - 1] > a[j]) { int t = a[j - 1]; a[j - 1] = a[j]; a[j] = t; } } }}void printArr(int* a, int n) { // 添加数组长度参数 for (int i = 0; i < n; i++) // 修正循环条件 ...
面向对象进阶
1.static在main中调用类名的方法时,其方法的对象可能是多个对象的共同对象比如说创建了s1,s2两个学生对象,他们有共同的老师t,调用方法时老师是同一个但如果不加static,t就需要被定义两次所以要用static被static修饰的变量叫做 静态变量 2.继承extends啥时候用继承?当类与类之间,存在共性的的内容,并满足子类是父类的一种,就可以用继承 3.多态创建完对象之后用:register(s) register(t) register(admin)调用即可 4.包 5.final例子:class Fu{ public final void show(){ …… }} 6.权限修饰符(protected如同私生子) 7.抽象类使用abstract后,必须重写 继承抽象类的解决方案: 重写里面所有的方法 其子类也需要时抽象的,子类重写所有方法 8.接口 9.匿名内部类比如有个方法public static void method(Animal a){ ...
String
StringBuilder1.创建对象StringBuilder sb = new StringBuilder(); 2.添加元素append()sb.append(1);sb.append(dkjfak); 3.反转reverse()sb.reverse(); 4.获取长度length()int len = sb.length(); 5.变回字符串toString()(因为sb是StringBuilder类型的,并不是字符串)String str = sb.toString();
循环列表
#include<stdio.h>#include<stdlib.h>#define max 100typedef int ElemType; typedef struct QueueNode{ ElemType data; struct QueueNode *next;}QueueNode; typedef struct{ QueueNode* front; QueueNode* rear;}Queue; //初始化Queue* initQueueNode() { QueueNode* node = (QueueNode*)malloc(sizeof(QueueNode));//node是头结点 Queue* q = (Queue*)malloc(sizeof(Queue)); node->data = 0; node->next = NULL; q->front = node; q->rear = node; return...