数组
什么是数组:数组是在内存中一块连续的数据类型相同的长度固定的空间。
一,数组的创建 int [] nums =new int[5];
二,数组的遍历 public static void print(){
for (int i=0;i<nums.length;i++){
System.out.print(nums[i]+”\t”);
}
}
使用Array.toString工具类快捷打印
也可以直接写为System.out.println(Array.toString(num));
数组的增(扩容)删 改 查
(1)增 A,System arraycopy方法//复制数组
int [] nums= {11,22,33,44,55};
int [] newNums=new int[nums.length*2];
//第一个参数 被复制的数组
//第二个参数 从哪个位置开始复制 下标
//第三个参数 复制到哪个数组 数组名称
//第四个参数 从新数组的哪个位置开始复制 下标
//第五个参数 复制多长
System.arraycopy(nums, 0, newNums, 1, nums.length);
int [] nums1= {1,2,3,4,5};
int [] newNums1=new int[nums1.length*2];
System.arraycopy(nums1, 2, newNums1, 1, 2);
for (int i = 0; i < newNums1.length; i++) {
System.out.print(newNums1[i]+"\t");
}
B**,Arrays类**copyOf(复制哪个数组,复制多长) 用于复制数组
int [] nums= {11,22,33,44,55};
int [] newNums=Arrays.copyOf(nums, 10);
for (int i = 0; i < newNums.length; i++) {
System.out.print(newNums[i]+"\t");
}
C,插入元素算法,(在数组的最后一个不为0的数后面填加 如果为0则用下面另一种方法且size要小于总长度)
也可以说是替换 把需要换的元素下标给size 接收一个值就 (这里要定义一个size意为数组的有效长度
方法一:public static void insert (int value){
nums[size]=value;
size++;
}
方法二:
第一个参数为你所要插入位置的下标 (所以其它元素向后移动 超出内存的部分不显示)第二个参数为所插入的值。i为下标位置。
public static void inserti(int index,int value){
for (int i = size; i >index; i–) {
Nums[i]=nums[i-1];
}
nums[index]=value;
size++;
}
然后校验index 因为下标不能为负数而且不能大于数组原本的长度。
若index大于原数组长度则需要进行扩容 需要构建一个方法grow
grow方法的构建 以及把原数组的值赋值给新数组
2,删除 同样是用数组的下标进行操作 (同增加操作无异)
3,修改元素 也行下标进行操作(update)
4,查找元素 也行下标进行操作(get)
数组元素排序
冒泡排序 从小到大排序
从大到小排序即把nums[j]>nums[j+1]中的>改为<
选择排序
Jdk快速排序
关注我,点赞它,你就可以收到我持续更新的文件,快快来到阿斗学Java,教你最简单的java学习方法