Home > Java > javaTutorial > How to get a sublist of a list in Java?

How to get a sublist of a list in Java?

WBOY
Release: 2023-09-04 23:41:08
forward
797 people have browsed it

How to get a sublist of a list in Java?

The List interface extends Collection and declares the behavior of a collection that stores a sequence of elements. Users of lists have very precise control over where elements are inserted into the list. These elements are accessible through their index and are searchable. ArrayList is the most popular implementation of the List interface.

List interface method subList() can be used to obtain a sublist of a list. It requires start and end index. The sublist contains the same objects as in the original list, and changes to the sublist will also be reflected in the original list. In this article, we will discuss the subList() method with related examples.

Syntax

List<E> subList(int fromIndex, int toIndex)
Copy after login

Notes

  • Returns a view of the portion of this list between the specified fromIndex (inclusive) and toIndex (exclusive).

  • If fromIndex and toIndex are equal, the returned list is empty.

  • The returned list is backed by this list, so non-structural changes in the returned list are reflected in this list and vice versa.

  • The returned list supports all optional list operations supported by this list.

Parameters

  • fromIndex - The lower endpoint of the sublist (inclusive).

  • toIndex - The high end point of the sublist (exclusive).

Return value

The view of the specified range in this list.

Throws

  • IndexOutOfBoundsException - for illegal endpoint index value (fromIndex < 0 || toIndex > size || fromIndex > toIndex)

Example 1

The following is an example of getting a sublist from a list:

package com.tutorialspoint;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
public class CollectionsDemo {
   public static void main(String[] args) {
      List<String> list = new ArrayList<>(Arrays.asList("a", "b", "c", "d", "e"));
      System.out.println("List: " + list);

      // Get the subList
      List<String> subList = list.subList(2, 4);

      System.out.println("SubList(2,4): " + subList);
   }
}
Copy after login

Output

This will produce The following results -

List: [a, b, c, d, e]
SubList(2,4): [c, d]
Copy after login

Example 2

The following example shows that using sublist() also has side effects. If you modify the sublist it will affect the original list as shown in the example -

package com.tutorialspoint;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
public class CollectionsDemo {
   public static void main(String[] args) {
      List<String> list = new ArrayList<>(Arrays.asList("a", "b", "c", "d", "e"));

      System.out.println("List: " + list);

      // Get the subList
      List<String> subList = list.subList(2, 4);
      System.out.println("SubList(2,4): " + subList);

      // Clear the sublist
      subList.clear();
      System.out.println("SubList: " + subList);

      // Original list is also impacted.
      System.out.println("List: " + list);
   }
}
Copy after login

Output

This will produce the following result -

List: [a, b, c, d, e]
SubList(2,4): [c, d]
SubList: []
List: [a, b, e]
Copy after login

The above is the detailed content of How to get a sublist of a list in Java?. For more information, please follow other related articles on the PHP Chinese website!

Related labels:
source:tutorialspoint.com
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template