All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.cedarsoftware.util.CollectionUtilities Maven / Gradle / Ivy

There is a newer version: 2.13.0
Show newest version
package com.cedarsoftware.util;

import java.util.ArrayList;
import java.util.Collections;
import java.util.HashSet;
import java.util.LinkedHashSet;
import java.util.List;
import java.util.Set;

public class CollectionUtilities {

    private static final Set unmodifiableEmptySet = Collections.unmodifiableSet(new HashSet<>());

    private static final List unmodifiableEmptyList = Collections.unmodifiableList(new ArrayList<>());

    /**
     * For JDK1.8 support.  Remove this and change to List.of() for JDK11+
     */
    @SafeVarargs
    public static  List listOf(T... items)
    {
        if (items == null || items.length ==0)
        {
            return (List)unmodifiableEmptyList;
        }
        List list = new ArrayList<>();
        Collections.addAll(list, items);
        return Collections.unmodifiableList(list);
    }

    /**
     * For JDK1.8 support.  Remove this and change to Set.of() for JDK11+
     */
    @SafeVarargs
    public static  Set setOf(T... items)
    {
        if (items == null || items.length ==0)
        {
            return (Set) unmodifiableEmptySet;
        }
        Set set = new LinkedHashSet<>();
        Collections.addAll(set, items);
        return Collections.unmodifiableSet(set);
    }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy