Java List Partition partition(List items, int slices)

Here you can find the source of partition(List items, int slices)

Description

partition

License

Apache License

Declaration

public static <T> List<List<T>> partition(List<T> items, int slices) 

Method Source Code


//package com.java2s;
/*//  w w w .  j  a v a  2s  . c  om
 * Copyright (c) 2014 Lemur Consulting Ltd.
 * <p/>
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 * <p/>
 * http://www.apache.org/licenses/LICENSE-2.0
 * <p/>
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

import java.util.*;

public class Main {
    public static <T> List<List<T>> partition(List<T> items, int slices) {
        double size = items.size() / (double) slices;
        double accum = 0;
        int start = 0;
        List<List<T>> list = new ArrayList<>(slices);
        for (int i = 0; i < slices; i++) {
            int end = (int) Math.floor(accum + size);
            if (i == slices - 1)
                end = items.size();
            list.add(items.subList(start, end));
            accum += size;
            start = (int) Math.floor(accum);
        }
        return list;
    }
}

Related

  1. partition(final List items, final int size)
  2. partition(final List list, final int length)
  3. partition(List list, Integer batchSize)
  4. partition(List all, int partitionSize)
  5. partition(List a, int lower, int upper)
  6. partition(List list, int num)
  7. partition(List list, int partitionSize)
  8. partition(List list, int size)
  9. partition(List list, int size)