List<String>[] ls;
List[] la = New List[10];
ls =(List<String>[]) la;
ls[0]=newArrayList<String>();
16.6 创建测试数据
通常,在试验数组和程序时,能够很方便地生成填充了测试数据的数组,将会很有帮助
Arrays.fill() a. 只能用同一个值填充各个位置,而针对对象而言,就是复制同一个引用进行填充
char[] c =newchar[3];
Arrays.fill(c,'a');
Arrays.fill(c,1,3,'b');//对某个区域进行填充
数据生成器 a. 通过Generator的类型来创建任何类型的数据
从Generator中创建数组
16.7 Arrays实用功能
复制数组 a. System.arraycopy(),用它复制数组比用for循环要快很多 b. 参数:源数组,表示从源数组中的什么位置开始复制的偏移量,目标数组,表示从目标数组的什么位置开始复制的偏移量,以及需要复制的元素个数 c. System.arraycopy()不会执行自动包装和在自动拆包,两个数组必须具有相同的确切类型
System.arraycopy(i,0,j,0,i.length);
数组的比较 a. Arrays类提供了重载后的equals()方法 b. 数组相等的条件是元素个数必须相等,并且对应位置的元素也相等 c. 对于基本类型,需要使用基本类型的包装器类的equals()方法,例如,对于int类型使用Integer.equals()作比较
Arrays.equals(a1, a2);
数组元素的比较 a. 排序必须根据对象的实际类型执行比较操作 b. Java有两种方式来提供比较功能 (1)第一种是java.lang.Comparable接口,使你的类具有“天生”的比较能力 (2)可以实现Comparator接口,Collections类包含一个reverseOrder()方法,该方法可以产生一个Comparator,它可以反转自然的排序顺序