数组
- 用来存储相同类型的一组数据的变量。
- 数组在内存中占据一块连续的空间。
- 数组的要素
- 标识符
- 数组元素
- 数组元素的下标
- 元素类型
- 声明一个数组
- 类型[] 数组名 = new 类型[长度] ;
- 类型[] 数组名 ={列的若举数组干个元素,中间用“,”分割};
- 类型[] 数组名 =new 类型 [] {列的若举数组干个元素,中间用“,”分割};
- 类型[] 数组名; 数组名=new 类型[长度]
- 常用的方法
- length用于获取数组长度。
- 多维数组。.
- int[][] arr =new int [深度][宽度];
排序算法
- 冒泡排序
在一次排序过程中逐次比较两个相邻的元素,每比较一次就进行一次位置调整,一次排序只能使一个元素升至数组的顶端。
代码实现
import java.util.*;
public class Demo {
public static void main(String[] args) {
int[] number = {8, 4, 2, 1, 23, 344, 12};
for (int i = 0; i < number.length - 1; i++) {
for (int k = 0; k < number.length - 1 - i; k++) {
if (number[k] > number[k + 1]) {
int tmp = number[k];
number[k] = number[k + 1];
number[k + 1] = tmp;
}
}
}
}
}
2.选择排序
不断在未排序序列中找到最小元素,存放到排序序列的起始位置,然后,再从剩余未排序元素中继续寻找最小元素,然后放到已排序序列的末尾。
代码实现
public class DemoA {
public static void main(String[] args) {
int[] number = {8, 4, 2, 1, 23, 344, 12};
for (int i = 0; i < number.length - 1; i++) {
for (int k = 0; k < number.length - 1 - i; k++) {
if (number[k] > number[k + 1]) {
int tmp = number[k];
number[k] = number[k + 1];
number[k + 1] = tmp;
}
}
}
}
}
3.希尔算法,全排列算法等
4求最值,使用foreach循环
集合
- Collection 存储一组不唯一,无序的数据。
- List ArrayList LinkedList。List存储一组有序但不唯一的数据
- Set HashSet。 Set存储一组唯一无序的数据。
- Map HashMap。 Map存储一组KV数据对,形成key到value的映射。
- 常用方法
.add .size .get .contains .remove .clear .isEmpty .subList .toArray .iterator
.removeAll .retainAll .addAll
LInkedList的方法 .addFirst .addLast .getFirst .getLast .removefirst .removeLast
6.遍历集合
通过迭代 Iterator
boolean hasNext() 判断是否存在下一个数据。
Object next() 返回要访问的下一个元素。
foerch循环
数据类型
- 基本数据类型 byte short int long float double char boolean。
- 引用数据类型