Java List Clone cloneList(final List l, final int n)

Here you can find the source of cloneList(final List l, final int n)

Description

Creates a list containing the specified list N times in a row.

License

Open Source License

Parameter

Parameter Description
l List to be cloned. Must not be <code>null</code>.
n How many times should the list be cloned. Must be non-negative.

Return

Flat list containing the input list N times in a row. If the input list is empty, or N = 0, the result is an empty list.

Declaration

public static <T> List<T> cloneList(final List<T> l, final int n) 

Method Source Code


//package com.java2s;
/*// www .ja va 2  s  . c o m
 *  Copyright (C) 2010 vektor
 *
 *  This program is free software: you can redistribute it and/or modify
 *  it under the terms of the GNU General Public License as published by
 *  the Free Software Foundation, either version 3 of the License, or
 *  (at your option) any later version.
 *
 *  This program is distributed in the hope that it will be useful,
 *  but WITHOUT ANY WARRANTY; without even the implied warranty of
 *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 *  GNU General Public License for more details.
 *
 *  You should have received a copy of the GNU General Public License
 *  along with this program.  If not, see <http://www.gnu.org/licenses/>.
 */

import java.util.ArrayList;
import java.util.Collection;
import java.util.Collections;

import java.util.List;

public class Main {
    /**
     * Creates a list containing the specified list N times in a row.
     *
     * @param l List to be cloned. Must not be <code>null</code>.
     * @param n How many times should the list be cloned. Must be non-negative.
     * @return Flat list containing the input list N times in a row. If the input
     * list is empty, or N = 0, the result is an empty list.
     */
    public static <T> List<T> cloneList(final List<T> l, final int n) {
        if (l == null) {
            throw new IllegalArgumentException("The list to be cloned must not be null.");
        }
        if (n < 0) {
            throw new IllegalArgumentException("When cloning a list, N must be non-negative (" + n + ")");
        }
        if (n == 0 || isEmpty(l)) {
            return Collections.emptyList();
        }

        final List<T> ret = new ArrayList<T>();
        for (int i = 0; i < n; i++) {
            ret.addAll(l);
        }
        return ret;
    }

    /**
     * Checks whether the collection is empty, that means NULL or empty as in "no elements within".
     *
     * @param <T>
     * @param c Collection to check.
     * @return True if the collection is NULL or contains no elements.
     */
    public static <T> boolean isEmpty(final Collection<T> c) {
        return c == null || c.isEmpty();
    }

    /**
     * Checks whether the string is empty, that means NULL or equal to "".
     *
     * @param s String to check.
     * @return True if the string is NULL or has no characters.
     */
    public static boolean isEmpty(final String s) {
        return s == null || "".equals(s);
    }
}

Related

  1. clone(List list)
  2. clone(List list)
  3. clone(List input)
  4. cloneAdd(final List list, final E... element)
  5. CloneList(final Collection list)
  6. cloneList(List aList)
  7. cloneList(List l)
  8. cloneList(List sOriginal)
  9. cloneList(List xData)

  10. HOME | Copyright © www.java2s.com 2016