2010-08-30 81 views
6

我想知道:什麼是Java中的集合?什麼是java集合?

+3

編輯了以前的編輯,創建「googleable」標籤沒有意​​義 – 2010-08-30 09:47:21

+3

我想要一個「Googeable」徽章 – Daniel 2010-08-30 10:20:39

+2

作爲一個爲自己學習而奮鬥的人。讓我提出一些建設性的批評。先做好功課,並向他人展示這種勞動的成果。首先谷歌這個問題。然後創建一些具體的例子,看看別人是否可以批評你的理解。這樣你就可以建立對自己的尊重,並尊重他人。祝你好運。我們都學習。 – GeekyOmega 2012-08-07 19:30:28

回答

2

它是一個實現java.util.Collection接口的類。

對於實現java.util.Map的人來說還有另一個分支。

這些是在Java中的數據結構的基礎上:列表,設置,LinkedList的一個HashMap,TreeMap的等

9

Collection是Java API中的接口,according to the docs是...

集合層次結構中的根接口。 集合表示一組對象,稱爲其元素。某些集合允許重複元素,而其他集合不允許。一些是有序的,另一些是無序的。 JDK不提供這個接口的任何直接實現:它提供了更多特定子接口的實現,比如Set和List。這個接口通常用於傳遞集合並在需要最大普遍性的情況下處理它們。

藏品常見的例子是:ArrayListHashSetLinkedListStackVector

+0

謝謝你告訴我, plz解釋我java中的內部類和外部類是什麼 – mihir 2010-08-30 09:43:18

+4

使用此字段可以給答案添加註釋。使用* Ask Question *鏈接提出新的問題:) – aioobe 2010-08-30 09:44:10

2

引用Java API「集合 - 有時稱爲容器 - 只是將多個元素分組爲單個單元的對象。」

22

通常的java.util.Collection一個實例(雖然java.util.Map正式也是集合框架的一部分)

雖然Collection接口可以直接執行,通常客戶端的代碼將使用子接口之一的實現:SetListQueue/Deque

這裏是一些示例代碼(在左邊你通常會看到一個接口,在右邊是一個實現類)。

Sets不存儲重複,所有的元素都是唯一的:

final Set<String> basicSet = new HashSet<String>(); 
basicSet.add("One"); 
basicSet.add("Two"); 
basicSet.add("One"); 
basicSet.add("Three"); 
System.out.println(basicSet.toString()); 
// Output: [Three, One, Two] 
// (seemingly random order, no duplicates) 

SortedSets是存儲在指定順序的元素集的特殊情況:

final SortedSet<String> sortedSet = new TreeSet<String>(); 
sortedSet.add("One"); 
sortedSet.add("Two"); 
sortedSet.add("One"); 
sortedSet.add("Three"); 
System.out.println(sortedSet.toString()); 
// Output: [One, Three, Two] 
// (natural order, no duplicates) 

Lists讓你多次存儲值並訪問或修改插入順序:

final List<String> strings = new ArrayList<String>(); 
strings.add("Two"); 
strings.add("Three"); 
strings.add(0, "One"); 
strings.add(3, "One"); 
strings.add("Three"); 
strings.add(strings.size() - 1, "Two"); 
System.out.println(strings); 
// Output: [One, Two, Three, One, Two, Three] 

還有用於定義列表的實際簡寫:

List<String> strings = Arrays.asList("One", "Two", "Three"); 
// this returns a different kind of list but you usually don't need to know that 

等。

爲了更好地瞭解,從Sun Java教程(在線),或通過Java Generics and Collections莫里斯·納夫特爾林和菲利普·沃德勒

9

閱讀The Collections Trail我認爲這個問題是在非編程感最好的回答。

假如你有5個球,你想輕鬆地移動它們。你得到一個袋子,並將5個球放在裏面。這個包起到了一個容器的作用。你現在可以移動這個袋子,所以很容易5個球隨之移動。

簡單地說,您可以將零個或多個對象放在另一個對象內,以便於檢索。

相關問題