在Java中,可以使用Google Guava库中的Lists.partition
方法来对List进行分区。以下是一个简单的例子:
import com.google.common.collect.Lists;
import java.util.List;
public class PartitionListExample {
public static void main(String[] args) {
List<Integer> list = Lists.newArrayList(1, 2, 3, 4, 5, 6, 7, 8, 9);
int partitionSize = 3; // 每个分区的大小
List<List<Integer>> partitionedList = Lists.partition(list, partitionSize);
for (List<Integer> part : partitionedList) {
System.out.println(part);
}
}
}
如果不想使用外部库,可以自己实现分区的逻辑:
import java.util.ArrayList;
import java.util.List;
public class CustomPartitionListExample {
public static void main(String[] args) {
List<Integer> list = List.of(1, 2, 3, 4, 5, 6, 7, 8, 9);
int partitionSize = 3; // 每个分区的大小
List<List<Integer>> partitionedList = customPartition(list, partitionSize);
for (List<Integer> part : partitionedList) {
System.out.println(part);
}
}
public static List<List<Integer>> customPartition(List<Integer> list, int partitionSize) {
List<List<Integer>> partitions = new ArrayList<>();
int listSize = list.size();
for (int i = 0; i < listSize; i += partitionSize) {
partitions.add(new ArrayList<>(list.subList(i, Math.min(i + partitionSize, listSize))));
}
return partitions;
}
}
在这个例子中,customPartition
方法接受一个List
和分区大小作为参数,然后返回一个包含了分区后的List的List。