總結放前面: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(),需要注意對未排序的數組使用該方法會產生不可預料的結果。值得開心的是這個查找也是被優化過的高效方法。
總結:儘量不要使用數組,謝謝閱讀。