示例
在这个例子中,我们使用LinkedList
类的subList(int startIndex, int endIndex)
方法获取LinkedList
的子列表。它返回指定索引startIndex
(包括)和endIndex
(不包括)之间的List
。对子列表所做的任何更改都将反映在原始列表中(我们在下面的程序中通过从子列表中删除元素并在删除后显示原始列表来测试它)。
import java.util.LinkedList;
import java.util.Iterator;
import java.util.List;
public class SublistExample {
public static void main(String[] args) {
// Create a LinkedList
LinkedList<String> linkedlist = new LinkedList<String>();
// Add elements to LinkedList
linkedlist.add("Item1");
linkedlist.add("Item2");
linkedlist.add("Item3");
linkedlist.add("Item4");
linkedlist.add("Item5");
linkedlist.add("Item6");
linkedlist.add("Item7");
// Displaying LinkedList elements
System.out.println("LinkedList elements:");
Iterator it= linkedlist.iterator();
while(it.hasNext()){
System.out.println(it.next());
}
// Obtaining Sublist from the LinkedList
List sublist = linkedlist.subList(2,5);
// Displaying SubList elements
System.out.println("\nSub List elements:");
Iterator subit= sublist.iterator();
while(subit.hasNext()){
System.out.println(subit.next());
}
/* Any changes made to Sub List will be reflected
* in the original List. Lets take this example - We
* are removing element "Item4" from sublist and it
* should be removed from original list too. Observe
* the Output of this part of the program.
*/
sublist.remove("Item4");
System.out.println("\nLinkedList elements After remove:");
Iterator it2= linkedlist.iterator();
while(it2.hasNext()){
System.out.println(it2.next());
}
}
}
输出:
LinkedList elements:
Item1
Item2
Item3
Item4
Item5
Item6
Item7
Sub List elements:
Item3
Item4
Item5
LinkedList elements After remove:
Item1
Item2
Item3
Item5
Item6
Item7