close

  Google於去年底Release google-collections v1.0版,感覺和Apache的commons-collection差不多。好用就拿來用,反正免錢。有幾個工具如下,前提需import com.google.common.collect.*以及可能需要import java.util.*:

1.Collection Class有工廠類別產出,不再用new,例:

HashSet<String> hashSet = Sets.newHashSet();
LinkedHashSet<String> linkedHashSet = Sets.newLinkedHashSet();
ArrayList<String> arrayList = Lists.newArrayList();
LinkedList<String> linkedList = Lists.newLinkedList();

2.提供不可變(Immutable)的Collection Class,例:

ImmutableSet<Integer> immutableSet = ImmutableSet.of(1, 2, 3, 4, 5);

immutableSet.add( 99 ) 或 immutableSet.set( 1, 99 )都會丟出java.lang.UnsupportedOperationException

3.提供Muilt collection class,例:

Multimap<String, String> multiMap = new ArrayListMultimap.create(); // 遵照第一條不用new。

multiMap.put("Jemmy", "Brother"); multiMap.put("Jemmy", "Employee");  // Jemmy具兩種角色

Collection<String> roles = multiMap.get("Jemmy");  // 取回不是String, 而是個集合

4.Concurrent開頭的類別名具有並行功能,替代舊的Vector、Hashtable類別,例:ConcurrentHashMultiset。

以上舉例,均取自http://www.infoq.com/cn/news/2010/01/google_collections_10

其Maven設定如下:

<dependency>
    <groupId>com.google.collections</groupId>
    <artifactId>google-collections</artifactId>
    <version>1.0</version>
</dependency>

arrow
arrow
    全站熱搜
    創作者介紹
    創作者 Jemmy 的頭像
    Jemmy

    Jemmy Walker

    Jemmy 發表在 痞客邦 留言(0) 人氣()