5
通過指定開始和結束索引,Java中是否有一種方法可將列表中的對象從Arraylist獲取到另一個ArrayList?通過指定索引從ArrayList中檢索元素
通過指定開始和結束索引,Java中是否有一種方法可將列表中的對象從Arraylist獲取到另一個ArrayList?通過指定索引從ArrayList中檢索元素
是的,你可以使用subList
method:
List<...> list2 = list1.subList(startIndex, endIndex);
這將返回原始表的那部分視圖,它不會複製數據。
如果你想要一個副本:
List<...> list2 = new ArrayList<...> (list1.subList(startIndex, endIndex));
/create an ArrayList object
ArrayList arrayList = new ArrayList();
//Add elements to Arraylist
arrayList.add("1");
arrayList.add("2");
arrayList.add("3");
arrayList.add("4");
arrayList.add("5");
/*
To get a sub list of Java ArrayList use
List subList(int startIndex, int endIndex) method.
This method returns an object of type List containing elements from
startIndex to endIndex - 1.
*/
List lst = arrayList.subList(1,3);
//display elements of sub list.
System.out.println("Sub list contains : ");
for(int i=0; i< lst.size() ; i++)
System.out.println(lst.get(i));
感謝這麼愚蠢的我要問它。 – user1583803 2012-08-09 09:40:19
沒錯,但請注意對象的引用保持不變。所以如果你在子列表中改變你的對象,他們也會在第一個列表中被改變。 – Chris 2012-08-09 09:40:29
@Chris是第二個版本不是深層複製,它只複製對象的引用。 – assylias 2012-08-09 09:41:19