数组与其他种类的容器之间的区别有三个方面:效率、类型和保存基本类型的能力。
数组和容器都可以保证你不能滥用它们。无论你是使用数组还是容器,如果越界,都会得到一个表示程序员错误的Runtime Exception。
数组可以持有基本类型,而泛型之前的容器则不能。但有了泛型,容器就可以指定并检查它们持有对象的类型,并有了自动包装机制,容器看起来还能够持有基本类型。
不可以创建泛型数组List<String>[] a= new List<String>[5];是错误的,由于泛型的擦出机制会移除数据的类型信息,但是数组必须知道它们的确切类型。但是你可以创建这类数组的引用List<String>[] a;
Arrays.fill():测试数据填充数组,只能用同一个值填充各个位置,而针对对象而言,就是复制同一个引用进行填充。
eg:int[] a = new int[4];Arrays.fill(a,4);~~[4,4,4,4]
arrays.fill(a,2,3,0)~~[4,4,0,0]
数组的复制:java标准类库提供有syatic方法System.arraycopy(),用它复制数组比用for循环复制要快的多
eg:int[] i = new int[7];int[] j = new int[10];
Arrays.fill(a,4);
Arrays.fill(j,5);
System.arraycopy(i,0,j,0,i.length);
j>>[4,4,4,4,4,4,4,5,5,5]