Open In App

Java Guava | Lists.partition() method with Examples

Last Updated : 04 Feb, 2019
Improve
Improve
Like Article
Like
Save
Share
Report

The Lists.partition() method in Guava Library is used to divide the original list into sublists of the same size. The method accepts two parameters.

For example: If the original list passed as parameter is [a, b, c, d, e] and the partition size is 3, then the sublists yield are as [[a, b, c], [d, e]].

Syntax:

public static <T> List<List<T>> partition(List<T> list, int size)

Parameters: The method accepts two parameters:

  • list: The list which is to be divided into sublists based on the partition size.
  • size: The desired size of each sublist. The size of the last sublist may be smaller.

Return Value: The method returns the list of consecutive sublists. Each sublist(except possibly the last one) has the size equal to the partition size.

Exception: The method Lists.partition() throws IllegalArgumentException if partition size is non-positive.

Below examples illustrate the implementation of above method:

Example 1:




// Java code to show implementation of
// Guava's Lists.partition() method
  
import com.google.common.collect.Lists;
import java.util.Arrays;
import java.util.List;
  
class GFG {
  
    // Driver's code
    public static void main(String[] args)
    {
        // Creating a List of Integers
        List<Integer> myList
            = Arrays.asList(1, 2, 3, 4, 5);
  
        // Using Lists.partition() method to divide
        // the original list into sublists of the same
        // size, which are just views of the original list.
        // The final list may be smaller.
        List<List<Integer> > lists
            = Lists.partition(myList, 2);
  
        // Displaying the sublists
        for (List<Integer> sublist: lists)
            System.out.println(sublist);
    }
}


Output:

[1, 2]
[3, 4]
[5]

Example 2:




// Java code to show implementation of
// Guava's Lists.partition() method
  
import com.google.common.collect.Lists;
import java.util.Arrays;
import java.util.List;
  
class GFG {
  
    // Driver's code
    public static void main(String[] args)
    {
  
        // Creating a List of Characters
        List<Character> myList
            = Arrays.asList('H', 'E', 'L', 'L', 'O',
                            'G', 'E', 'E', 'K', 'S');
  
        // Using Lists.partition() method to divide
        // the original list into sublists of the same
        // size, which are just views of the original list.
        // The final list may be smaller.
        List<List<Character> > lists
            = Lists.partition(myList, 3);
  
        // Displaying the sublists
        for (List<Character> sublist: lists)
            System.out.println(sublist);
    }
}


Output:

[H, E, L]
[L, O, G]
[E, E, K]
[S]

Reference: https://google.github.io/guava/releases/23.0/api/docs/com/google/common/collect/Lists.html#partition-java.util.List-int-



Like Article
Suggest improvement
Share your thoughts in the comments

Similar Reads