日期:2014-05-20  浏览次数:20774 次

Java 中如何使用一个集合的部分元素去 初始化另外一个 集合。
如:
 

 ArrayList<Data> a = new ArrayList<Data>();
 a.add(d1);
 a.add(d2);
 a.add(d3);
   
// 如何使用 a 的部分元素, 如 从a 的第1个元素开始 对al 进行初始化? 
 ArrayList<Data> al = new ArrayList<Data>(a);   



有没有 直接的函数, 或者 比较快的方法。?
  在线等, 急!!!
java arraylist

------解决方案--------------------
转成数组再操作
java.util.Arrays中有很多静态方法。
List<String> a = new ArrayList<String>();
a.add("1");
a.add("2");
a.add("3");
a.add("4");
a.add("5");
a.add("6");

// 把a中的3、4、5拷贝到aa中
String[] arr = new String[a.size()];
arr = a.toArray(arr);
arr = Arrays.copyOfRange(arr, 2, 5);
List<String> aa = Arrays.asList(arr);

System.out.println(Arrays.toString(aa.toArray()));

------解决方案--------------------
楼主不会用list.subList(int startIndex,int endIndex)获取集合的一部分他返回的也是一个集合用这个集合传到你的构造函数中不就行了。

 ArrayList<Data> a = new ArrayList<Data>();
         a.add(d1);
         a.add(d2);
         a.add(d3);
 ArrayList<Data> al = new ArrayList<Data>(a.subList(1,a.size()));