数组与其他容器的区别: 效率、类型 、保存基本类型的能力。
    数组特点:是一种效率最高的存储和随机访问的方法。
    数组的缺点:大小固定,同时在生命周期中是不可变的。
    数组的扩容:
    虽然数组的大小虽然不可变,当时我们可以用一下特殊的手段对数组进行扩容。就像Arraylist一样,底层虽然是数组,当在超过10个默认容量后就会对进行扩容。

    1. package com.package16;
    2. public class Example01 {
    3. public static void main(String[] args) {
    4. int [] numbers=new int[2];
    5. System.out.println("扩容前:"+numbers.length);
    6. int [] numbers2=new int[5];
    7. numbers=numbers2;
    8. System.out.println("扩容后:"+numbers.length);
    9. }
    10. }

    数组与(泛型)容器比较:
    数组可以储存基本类型,但在泛型出现前的容器却不行。当有了泛型后,容器可以指定并检查所持有的类型,并且有了自动包装机制。

    1. package com.package16;
    2. import java.util.ArrayList;
    3. import java.util.Arrays;
    4. class BerylliumSphere{
    5. private static long count=0;
    6. private final long id=count++;
    7. @Override
    8. public String toString() {
    9. return "BerylliumSphere" + id;
    10. }
    11. }
    12. public class Contents {
    13. public static void main(String[] args) {
    14. BerylliumSphere[] bery = new BerylliumSphere[10];
    15. for (int i=0;i<5;i++){
    16. bery[i]=new BerylliumSphere();
    17. }
    18. System.out.println(Arrays.toString(bery));
    19. System.out.println(bery[4]);
    20. ArrayList<Integer> integers = new ArrayList<>(Arrays.asList(1,2,3,4,5));
    21. System.out.println(integers);
    22. System.out.println(integers.get(4));
    23. }
    24. }
    25. Output:
    26. [BerylliumSphere0, BerylliumSphere1, BerylliumSphere2, BerylliumSphere3, BerylliumSphere4, null, null, null, null, null]
    27. BerylliumSphere4
    28. [1, 2, 3, 4, 5]
    29. 5