样例数组:int[] a = new int[] {22,11,21,54,87,90};
1,Arrays.asList()的坑
List<String> list = Arrays.asList("a","b","c");
list它的长度是不能改变的。当你向这个List添加或删除一个元素时(例如 list.add("d");)程序就会抛出异常(java.lang.UnsupportedOperationException)
因为这里的这个ArrayList不是java.util包下的
而是java.util.Arrays.ArrayList,显然它是Arrays类自己定义的一个内部类!这个内部类没有实现add()、remove()方法,而是直接使用它的父类AbstractList的相应方法。而AbstractList中的add()和remove()是直接抛出java.lang.UnsupportedOperationException异常的!
总结一下吧,如果你的List只是用来遍历,就用Arrays.asList()吧!如果你的List还要添加或删除元素,还是乖乖地new一个java.util.ArrayList,然后一个一个的添加元素吧!
2,Arrays的数组转字符串,复制数组
int[] a = new int[] {22,11,21,54,87,90};
int[] b = Arrays.copyOf(a, 3);
System.out.println(Arrays.toString(a));
System.out.println(Arrays.toString(b));
结果: [22, 11, 21, 54, 87, 90]
[22, 11, 21]
3,数组比较相等:Boolean n = Arrays.equals(a, b);
4,数组替换:Arrays.fill(a, 22); 结果:[22, 22, 22, 22, 22, 22]
5,查找数组某一个元素的下标位置:int m = Arrays.binarySearch(b, 21);