Java Collection Copy copy(final Collection collection)

Here you can find the source of copy(final Collection collection)

Description

Returns copy of the specified list.

License

Open Source License

Parameter

Parameter Description
collection list to copy
T list type

Return

copy of the specified list

Declaration

public static <T> ArrayList<T> copy(final Collection<T> collection) 

Method Source Code


//package com.java2s;
/*//from   ww  w .j  a  v  a 2 s .c o m
 * This file is part of WebLookAndFeel library.
 *
 * WebLookAndFeel library 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.
 *
 * WebLookAndFeel library 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 WebLookAndFeel library.  If not, see <http://www.gnu.org/licenses/>.
 */

import java.util.*;

public class Main {
    /**
     * Returns copy of the specified list.
     * Note that this method will copy same list values into the new list.
     *
     * @param collection list to copy
     * @param <T>        list type
     * @return copy of the specified list
     */
    public static <T> ArrayList<T> copy(final Collection<T> collection) {
        if (collection == null) {
            return null;
        }
        return new ArrayList<T>(collection);
    }

    /**
     * Returns data converted into list.
     *
     * @param data data
     * @param <T>  data type
     * @return data list
     */
    public static <T> ArrayList<T> copy(final T... data) {
        final ArrayList<T> list = new ArrayList<T>(data.length);
        Collections.addAll(list, data);
        return list;
    }

    /**
     * Adds all objects into the specified list.
     *
     * @param collection list to fill
     * @param objects    objects
     * @param <T>        objects type
     * @return true if list changed as the result of this operation, false otherwise
     */
    public static <T> boolean addAll(final Collection<T> collection, final T... objects) {
        boolean result = false;
        for (final T object : objects) {
            if (!collection.contains(object)) {
                result |= collection.add(object);
            }
        }
        return result;
    }

    /**
     * Adds all objects into the specified list.
     *
     * @param collection list to fill
     * @param objects    objects
     * @param <T>        objects type
     * @return true if list changed as the result of this operation, false otherwise
     */
    public static <T> boolean addAll(final Collection<T> collection, final Collection<T> objects) {
        boolean result = false;
        for (final T object : objects) {
            if (!collection.contains(object)) {
                result |= collection.add(object);
            }
        }
        return result;
    }
}

Related

  1. copy(Collection args)
  2. copy(Collection collection)
  3. copy(final Collection in)
  4. copy(final Collection collection)
  5. copy2Collection(Object[] strs)
  6. copyColl(Collection out, Iterable set)
  7. copyIntoCollectionFrom(Collection collection, Iterable iterable)