Sabit Büyüklüğe Ayırmak
Partition by Size diyelim
Örnek
Şöyle yaparız
public static <T> List<List<T>> partitionList(List<T> list, int partitionSize) {
List<List<T>> partitionedList = new ArrayList<>();
int size = list.size();
for (int i = 0; i < size; i += partitionSize) {
int end = Math.min(size, i + partitionSize);
partitionedList.add(list.subList(i, end));
}
return partitionedList;
}
Örnek - Guava
Lists.partition() kullanılabilir
Number of Partitions diyelim
Örnek
Şöyle yaparız. Listeyi 6 parçaya ayırırız
List<Integer> mylist = ...
int size = mylist.size();
int parts = 6;
int partSize = size / parts;
List<List<Integer>> result =
IntStream.range(0, parts)
.mapToObj(i -> mylist.subList(i * partSize, (i + 1) * partSize)))
.collect(Collectors.toList());
Hiç yorum yok:
Yorum Gönder