java数组详解
Array[]:最高效,但是定长。
ArrayList:牺牲效率,但容量可动态增长。
List:是一个有序的集合,可以包含重复的元素,提供了按索引访问的方式,它继承Collection。
Array的方法:
Array.sort(数组,起始,终止位置)
Arrays.fill(数组, 填充的值);//给所有元素填充值
比较数组:通过 equals 方法比较数组中元素值是否相等。
查找数组元素:通过 binarySearch 方法能对排序好的数组进行二分查找法操作。
Array的方法比较少,用ArrayUtils更多。
Array和ArrayList的相互转换:
如:
String[] array = new String[3];
List< String> list = Arrays.asList(array);
待续。。。。。。。。。。。。。
ArrayUtils类数组的很多操作都是返回新的数组,不会对原有数组进行改变;所以明确操作的返回值很重要。
ArrayUtils数组基本操作,增删查改等
下面方法没有明确表示是对原数组进行改变的,都是返回一个新的数组,原数组不变
增
1.新增元素
ArrayUtils.add(数组,元素)
2.向数组指定索引位置添加元素
ArrayUtils.insert(索引,数组,元素)
3.合并两个数组
ArrayUtils.addAll(数组,数组)
删
1.移除数组红指定索引位置的元素
ArrayUtils.remove(数组,索引)
2.移除数组中指定的多个索引位置的元素
ArrayUtils.removeAll(数组,索引1,索引2)
3.从数组中删除第一次出现的指定元素
ArrayUtils.removeElement(数组,元素)
4.从数组中移除指定的元素的所有
Array.Utils.removeAllOccurences(数组,元素)
5.从数组中移除多个元素
ArrayUtils.removeElements(数组,元素1,元素2);
查
1…获取数组的长度,
ArrayUtils.getLength(数组)
2.判断数组中是否包含某一个元素
ArrayUtils.contains(数组,元素),返回布尔值
3.查询某个Object在数组中的位置,找不到返回-1(可指定起始位置,但只遍历一次,若超出长度则会找不到而返回-1)
正序:ArrayUtils.indexOf(数组,查询的,起始位置)
逆序: ArrayUtils.lastIndexOf(数组,查询的)
4.判断数组是否相等,数据类型,长度,数值顺序都相同才会返回true
ArrayUtils.isEquals(数组,数组);
5.判段两个数组的类型是否相同
ArrayUtils.isSameType(数组,数组)
6.判断两个数组长度是否相同
ArrayUtils.isSameLength(数组,数组);类型必须相同
7…判断数组是否为空
ArraryUtils.isEmpty(数组),为空返回true,不为空返回False
8.获得数组的长度
ArrayUtils.getLength(数组);
9.判断数组是否以排好序
ArrayUtils.isSorted(数组)
改
1.打印数组 ,返回字符串
ArrayUtils.toString(数组);
2.拷贝数组
ArrayUtils.clone(要拷贝的数组);
3.截取数组
ArrayUtils.subarray(数组,起始位置,终止位置);起始位置开始,终止位置之前(不包括终止位置的值)
4.反转数组 不返回新数组,是对原数组进行翻转,可以指定翻转的区域
ArrayUtils.reverse(数组)
ArrayUtils.recerse(数组,起始位置,终止位置);包头不包尾
5.交换数组指定位置的两个元素
ArrayUtils.swap(数组,索引1,索引2) 不返回新的值,对原数组进行操作
6.将二维数组转换成map,一维数组转化会抛出异常
ArrayUtils.toMap(数组)
如:
String[][] array3={{“14”,“2”},{“1”,“3”}};
Map<Object,Object> array4=ArrayUtils.toMap(array3);
System.out.println(array4);
7.将原始数据类型的数组转换为对象类型数组
ArrayUtils.toObject()
如:
Integer[] array3=ArrayUtils.toObject(array1);
for(int i:array3)
System.out.println(i);
8.将对象数据类型的数组转换为原始数据类型的数组
ArrayUtils.toPrimitive(数组)
9.将Object类型的数组转换为String类型的数组
ArrayUtils.toStringArray(数组)
如:
Integer[] array3= {1,2,23,2};
String[] array4=ArrayUtils.toStringArray(array3);
for(String i:array4)
System.out.println(i);