2009-07-01 65 views

回答

9

以我的經驗,IterablesLists

我用Lists.newArrayList頻繁(通常爲靜態進口)和Iterables是Java到達LINQ最接近...

哦,不是特別收集-Y,但Preconditions.checkNotNull是非常方便的過,再以靜態導入:

public MyClass (String name, ...) 
{ 
    this.name = checkNotNull(name); 
    // etc 
} 

再有就是所有的不變性的東西,多地圖,MapMaker等......這只是一個偉大的圖書館。 KevinB等人搖滾:)

2

我已經使用Multimap很多。

然後我大罵一點點,當新ArrayListMultimap()不能正常工作,但隨後谷歌上搜索了很多之後,我想通了,他們使用ArrayListMultimap.create(),它是清潔,你不需要指定地圖類型兩次(根據Effective Java書中的建議,筆者據我所知是Java的首席Java版)。

Multimap的好處在於,在它的幾個實現中,有一個列表表現爲一個集合(沒有重複的元素,實際上,它沒有重複的鍵+值元素),這確實有幫助。

我認爲這是一個很好的圖書館,我正在越來越多地使用而不是普通的收藏。

8

在Google裏面,答案是com.google.common.collect.Lists。