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,它能够反转天然的排序顺序
publicclassCompTypeimplementsComparable<CompType>{
int i;int j;publicCompType(int n1,int n2){
i = n1;
j = n2;}publicintcomparaTo(CompType rv){
return(i < rv.i ?-1:(i == rv.i ?0:1));//递增顺序}}
数组排序 a. 使用内置的排序方法,就能够对任意的基本类型数组排序;也能够对任意的数组对象进行排序,只要该对象实现了Comparable接口或具备相关联的Comparator