Java中的数组

总结放前面:Java中尽量避免使用数组,除非有性能方面的考虑。

 

1. 数组特点 :尺寸不可变、通过整型索引访问他们的元素、能保存基本类型、对象类型保存的是引用。

 

2. 数组打印

Object[] obj = new Object[100];
//TODO--初始化数组--
System.out.println(Arrays.toString(obj));

 

3. ArrayList和数组

List<Integer> intList = new ArrayList<Integer>(Arrays.asList(0,1,2,3,4,5)); 
String[] sArray = (String[])new ArrayList<String>().toArray();

 

4.多维数组&粗糙数组&矩阵中的向量任意长度 (以下语句编译和运行可以通过)

int[][][] intArray = new int[10][][];

 

5. 多维数组打印

Arrays.deepToString(yourArray)

 

6. 自动包装对数组同样生效

Integer[] a = {1,2,3,4,5};

 

7. 数组与泛型,没看懂,不建议使用......

 

8. Arrays.fill() 方法只能用同一个值填充每个位置,针对对象,就是复制同一个引用进行填充。

 

9. 数组复制 :System.arraycopy().

      比for循环要高效。

      基本类型复制值,对象类型复制引用。

      必须有确切的类型,不会自动包装或拆包。

 

10. 数组的比较 :Arrays.equals(),元素个数必须相等。

      基本类型:使用基本类型的包装类比较如:int类型使用Integer.equals()。

      对象类型:使用对象自身的equals()比较。

 

11. 数组元素的比较......欠奉

 

12. 数组的排序 :Java对基本类型的排序进行了优化,无需担心性能问题。

String[] sa = { "c", "a", "b", "0" };
Arrays.sort(sa);
System.out.println(Arrays.toString(sa));
Arrays.sort(sa, Collections.reverseOrder());
System.out.println(Arrays.toString(sa));
Arrays.sort(sa, String.CASE_INSENSITIVE_ORDER);
System.out.println(Arrays.toString(sa));

 

13. 在已排序数组中查找 Arrays.binarySearch(),需要注意对未排序的数组使用该方法会产生不可预料的结果。值得开心的是这个查找也是被优化过的高效方法。

 

总结:尽量不要使用数组,谢谢阅读。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章