Convert Iterable<? extends T> as Set - Java java.util

Java examples for java.util:Iterable Convert

Description

Convert Iterable<? extends T> as Set

Demo Code


//package com.java2s;

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

import java.util.HashSet;

import java.util.Set;

public class Main {
    public static <T> Set<T> asSet(final Iterable<? extends T> iterable) {
        return (iterable instanceof Collection) ? new HashSet<T>(
                (Collection<? extends T>) iterable) : new HashSet<T>() {
            private static final long serialVersionUID = 3109256773218160485L;
            {/* w  ww.j a  v a 2s  .com*/
                if (iterable != null) {
                    for (final T t : iterable) {
                        add(t);
                    }
                }
            }
        };
    }

    public static <T> Set<T> asSet(final T t, final T... ts) {
        final Set<T> set = new HashSet<T>(ts.length + 1);
        set.add(t);
        Collections.addAll(set, ts);
        return set;
    }
}

Related Tutorials