7e7e0c91c8d5c4da61fd66db8535b875d4397b75
[platform/framework/web/crosswalk.git] / src / base / android / java / src / org / chromium / base / CollectionUtil.java
1 // Copyright 2013 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4
5 package org.chromium.base;
6
7 import java.util.ArrayList;
8 import java.util.Collections;
9 import java.util.HashSet;
10
11 /**
12  * Functions used for easier initialization of Java collections. Inspired by
13  * functionality in com.google.common.collect in Guava but cherry-picked to
14  * bare-minimum functionality to avoid bloat. (http://crbug.com/272790 provides
15  * further details)
16  */
17 public final class CollectionUtil {
18     private CollectionUtil() {}
19
20     public static <E> HashSet<E> newHashSet(E... elements) {
21         HashSet<E> set = new HashSet<E>(elements.length);
22         Collections.addAll(set, elements);
23         return set;
24     }
25
26     public static <E> ArrayList<E> newArrayList(E... elements) {
27         ArrayList<E> list = new ArrayList<E>(elements.length);
28         Collections.addAll(list, elements);
29         return list;
30     }
31
32     public static <E> ArrayList<E> newArrayList(Iterable<E> iterable) {
33         ArrayList<E> list = new ArrayList<E>();
34         for (E element : iterable) {
35             list.add(element);
36         }
37         return list;
38     }
39 }