當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


Java Guava Lists.partition()用法及代碼示例


Guava庫中的Lists.partition()方法用於將原始列表分為相同大小的子列表。該方法接受兩個參數。

例如:如果作為參數傳遞的原始列表為[a,b,c,d,e]並且分區大小為3,則子列表的yield為[[a,b,c],[d,e]] 。

用法:


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

參數:該方法接受兩個參數:

  • list:該列表將根據分區大小分為子列表。
  • size:每個子列表的期望大小。最後一個子列表的大小可能較小。

返回值:該方法返回連續子列表的列表。每個子列表(除了最後一個子列表)的大小都等於分區大小。

異常:如果分區大小為非正數,則Lists.partition()方法將引發IllegalArgumentException。

以下示例說明了上述方法的實現:

範例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); 
    } 
}
輸出:
[1, 2]
[3, 4]
[5]

範例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); 
    } 
}
輸出:
[H, E, L]
[L, O, G]
[E, E, K]
[S]

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



相關用法


注:本文由純淨天空篩選整理自Sahil_Bansall大神的英文原創作品 Java Guava | Lists.partition() method with Examples。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。