数组是无序的 所以增加,删除的时候 效率较低,数组一般用于查找。
数组表示具有相同类型数据的一个有限的集合,顺序存储,从0开始,可以根据下标快速查找到元素,但是删除,添加效率较低。
数组插入元素的时候,被插入位置后面的每个元素往后面移动一位。(效率较低)
数组删除元素的时候,被删除位置后面的每个元素往前面移动一位。(效率较低)
数组初始化:
Int[] num = {1,2,3};
Int[] num = new int[]{1,2,3};
Int[] num = new int[3];
数组的异常:
int[] num = null;
System.out.println(“length: “+num.length);
Exception in thread “main” java.lang.NullPointerException
at demo.demo.main(demo.java:16)
int[] num = new int[]{1,2,3};
num[4]=4;
Exception in thread “main” java.lang.ArrayIndexOutOfBoundsException: 4
at demo.demo.main(demo.java:10)
查看数组长度;
int length=array1.length;
System.out.println(“length: “+array1.length);
String数组转list;
String[] array1={“马超”,”马云”,”关羽”,”刘备”,”张飞”};
List a1 = Arrays.asList(array1);
for (int i = 0; i < a1.size(); i++) {
System.out.println(a1.get(i));
}
数组中是否包含某一个值;
String a=”马超”;
String[] array1={“马超”,”马云”,”关羽”,”刘备”,”张飞”};
if (Arrays.asList(array1).contains(a)) {
System.out.println(“马超在这里”);
}
将数组转成set集合;
String[] array2=new String[]{“黄渤”,”张艺兴”,”孙红雷”,”小猪”,”牙哥”,”黄磊”};
Set set=new HashSet(Arrays.asList(array2));
System.out.println(set);
for (String string : set) {
System.out.println(string);
}
从array中创建arraylist;
ArrayList arrayList=new ArrayList(Arrays.asList(array1));
从数组中删除一个元素。因为数组长度不可变,所以需要新建一个数组,将除了需要删除的元素全部转移到新的数组中即可。
添加一个元素到数组中。因为数组长度不可变,所以需要新建一个数组,将原数组中的元素全部转移到新的数组中,然后再将新添加的元素加入数组中。