📜  Java番石榴 |带有示例的 Lists.partition() 方法(1)

📅  最后修改于: 2023-12-03 14:43:02.025000             🧑  作者: Mango

Java番石榴 | 带有示例的 Lists.partition() 方法

在Java编程中,有时候需要把一个List分成几个部分,这时就可以使用Google Guava库中的Lists.partition()方法。

Lists.partition()方法简介

Lists.partition()是Guava库中的一个方法,用于将一个List分划成多个部分。该方法根据指定的大小将List分成若干个子集,并返回一个List<List>,其中T为List中的元素类型。若List不能被精确划分,则最后一个List的大小可能小于指定大小。

该方法的定义如下:

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

参数说明:

  • list:要分割的List;
  • size:每个子List的大小。
使用示例

下面是一个简单的分割List的示例代码:

import com.google.common.collect.Lists;
import java.util.List;

public class PartitionDemo {
    public static void main(String[] args) {
        List<Integer> list = Lists.newArrayList(1, 2, 3, 4, 5, 6, 7, 8, 9, 10);
        List<List<Integer>> partitionedLists = Lists.partition(list, 3);
        for (List<Integer> sublist : partitionedLists) {
            System.out.println(sublist);
        }
    }
}

上述代码中,我们使用Lists.newArrayList()创建了一个包含10个整数的List,并使用Lists.partition()方法将其分为若干个大小为3的子List。最后,我们输出了这些子List。

输出结果:

[1, 2, 3]
[4, 5, 6]
[7, 8, 9]
[10]
注意事项
  • 如果List为空,则返回一个大小为0的List。
  • 如果size小于等于0,则会抛出IllegalArgumentException异常。
  • 如果List的大小小于等于size,则返回一个大小为1的List。
总结

Guava库的Lists.partition()方法是一个非常实用的列表分割工具,可以快速地将一个List分成若干个子List,为Java开发提供了很大的便利。