当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


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。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。