Here you can find the source of splitListToParts(final List
Parameter | Description |
---|---|
T | the generic type |
list | The List to Split |
times | How to split. |
public static <T> List<List<T>> splitListToParts(final List<T> list, final int times)
//package com.java2s; /**/*from w w w . java 2s. c o m*/ * Copyright (C) 2007 Asterios Raptis * * 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 * * http://www.apache.org/licenses/LICENSE-2.0 * * 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.ArrayList; import java.util.Iterator; import java.util.List; public class Main { /** * Splits the List to Parts to the specified times. * * @param <T> * the generic type * @param list * The List to Split * @param times * How to split. * @return An List with the Splitted Parts */ public static <T> List<List<T>> splitListToParts(final List<T> list, final int times) { final List<List<T>> returnList = new ArrayList<>(); List<T> tmp = new ArrayList<>(); final Iterator<T> it = list.iterator(); int count = 0; while (it.hasNext()) { if (count == times) { returnList.add(tmp); tmp = new ArrayList<>(); tmp.add(it.next()); count = 1; } else { tmp.add(it.next()); count++; } } if (!tmp.isEmpty()) { returnList.add(tmp); } return returnList; } /** * Checks if a List is null or empty. * * @param <T> * the generic type * @param list * The List to check. * @return true if the list is null or empty otherwise false. */ public static <T> boolean isEmpty(final List<T> list) { return list == null || list.isEmpty(); } }