1.数组
1.1一维数组
1.1.1声明及初始化
int[] arr=new int[5];//动态初始化
String[] arr1=new String[]{"Tom","Jerry","Jim"};//静态初始化
//数组一旦初始化,长度就是确定的且不可修改。arr.length
1.1.2默认初始化值
String[] names=new String[5];//null
int[] arr1=new int[2];//0
short[] arr2=new short[2];//0
char[] arr3=new char[2];//0或者'\u0000',而非'0',效果像空格
boolean[] arr4=new boolean[2];//false
double[] arr5=new double[2];//0.0
//引用类型:null
1.1.3内存解析
1.2快捷键
- shift+enter 直接换下一行
- ctrl+shift+enter直接换上一行
- ctrl+1+enter 补全
- ctrl+shift+O 快速导入包
- /**+enter 添加Types或Methods信息
- alt+<(>) 切换java文件
1.3二维数组
1.3.1声明初始化
//动态初始化
int[][] arr=new int[3][4];
int[][] arr1=new int[4][];
//静态初始化
int[][] arr2=new int[][]{{1,2,3},{4,5,6},{7,8}};
//[]可以放在数组名后
1.3.2默认初始化值
1.3.3内存解析
1.4排序算法
1.4.1算法的5大特征
输入、输出、有穷性、确定性、可行性
1.4.2十大内部排序算法
-
选择排序:
- 直接选择排序、堆排序
直接选择排序:
堆排序:
-
交换排序:
- 快速排序、冒泡排序
冒泡排序:
快速排序:
-
插入排序:
- 直接插入排序、折半插入排序、Shell排序
直接插入排序:
希尔排序:
-
归并排序
-
桶式排序
-
基数排序
计数排序:
2.数据结构
1.数据与数据之间的逻辑结构:集合、一对一、一对多、多对多
2.数据的存储结构:
线性表:顺序表(比如:数组)、链表、栈(先进后出)、队列(先进先出)
树形结构:二叉树
图形结构:
算法:
排序算法:
搜索算法:
3.Arrays工具类
int[] arr1=new int[] {1,2,3,4};
int[] arr2=new int[] {1,3,2,4};
boolean isEquals=Arrays.equals(arr1,arr2);
System.out.println(isEquals);
System.out.println(Arrays.toString(arr1));
Arrays.fill(arr1, 10);
System.out.println(Arrays.toString(arr1));
Arrays.sort(arr2);
System.out.println(Arrays.toString(arr2));
int[] arr3=new int[] {43,54,23,65,-32,42,-65,78};
int index=Arrays.binarySearch(arr3, 78);
if(index>=0) {
System.out.println(index);
}else {
System.out.println("未找到");
}
运行结果: