# Java - 从`LinkedList`获取子列表

> 原文： [https://beginnersbook.com/2014/07/java-get-sub-list-from-linkedlist-example/](https://beginnersbook.com/2014/07/java-get-sub-list-from-linkedlist-example/)

#### 示例

在这个例子中，我们使用`LinkedList`类的`subList(int startIndex, int endIndex)`方法获取`LinkedList`的子列表。它返回指定索引`startIndex`（包括）和`endIndex`（不包括）之间的`List`。对子列表所做的任何更改都将反映在原始列表中（我们在下面的程序中通过从子列表中删除元素并在删除后显示原始列表来测试它）。

```java
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());
    }
 }
}
```

输出：

```java
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
```