我想知道:什麼是Java中的集合?什麼是java集合?
回答
它是一個實現java.util.Collection接口的類。
對於實現java.util.Map的人來說還有另一個分支。
這些是在Java中的數據結構的基礎上:列表,設置,LinkedList的一個HashMap,TreeMap的等
Collection
是Java API中的接口,according to the docs是...
集合層次結構中的根接口。 集合表示一組對象,稱爲其元素。某些集合允許重複元素,而其他集合不允許。一些是有序的,另一些是無序的。 JDK不提供這個接口的任何直接實現:它提供了更多特定子接口的實現,比如Set和List。這個接口通常用於傳遞集合並在需要最大普遍性的情況下處理它們。
藏品常見的例子是:ArrayList
,HashSet
,LinkedList
,Stack
和Vector
。
引用Java API「集合 - 有時稱爲容器 - 只是將多個元素分組爲單個單元的對象。」
通常的java.util.Collection一個實例(雖然java.util.Map正式也是集合框架的一部分)
雖然Collection接口可以直接執行,通常客戶端的代碼將使用子接口之一的實現:Set ,List,Queue/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莫里斯·納夫特爾林和菲利普·沃德勒
閱讀The Collections Trail我認爲這個問題是在非編程感最好的回答。
假如你有5個球,你想輕鬆地移動它們。你得到一個袋子,並將5個球放在裏面。這個包起到了一個容器的作用。你現在可以移動這個袋子,所以很容易5個球隨之移動。
簡單地說,您可以將零個或多個對象放在另一個對象內,以便於檢索。
- 1. KeyedCollection是什麼的集合?
- 2. 什麼是集合<?>
- 3. 什麼是解析集合?
- 4. 什麼是擺脫集合
- 5. 集合的逆是什麼?
- 6. 我應該使用什麼Java集合?
- 7. 什麼是Blackberry API相當於Java的HashMap集合?
- 8. 迭代java集合的性能高效方法是什麼?
- 9. MongoDB的Java的異步驅動程序:什麼是從集合
- 10. 爲什麼「TypeToken集合」被認爲是Typesafe? (有效的Java#29)
- 11. 集合在Java中最終是什麼意思?
- 12. Java:迭代集合的最佳方式是什麼?
- 13. 集合和基於集合的操作的優點是什麼?
- 14. 什麼是集合語義(在.NET中)?
- 15. 什麼是最快的通用集合?
- 16. DenseVector爲什麼是可變集合?
- 17. Request []集合的內容是什麼
- 18. 什麼是混合模式程序集?
- 19. 是什麼可迭代和ImmutableJS集合
- 20. 什麼是MongoDB中的集合掃描?
- 21. 什麼是自定義集合?
- 22. 什麼是php中的對象集合?
- 23. 將多個集合合併到Java流中的最簡單方法是什麼?
- 24. Java收藏集:哪個集合使用什麼時候?
- 25. Java要求比什麼是合理的
- 26. Java中的合成字段是什麼?
- 27. 什麼時候返回空集合,什麼時候不是?
- 28. 爲什麼ItemCollection.Groups是對象的集合而不是CollectionViewGroups的集合?
- 29. 什麼是集合<?擴展SomeAbstractClass>而不是集合<SomeAbstractClass>
- 30. Neo4j和java:這個錯誤是什麼「NULL不是鍵集合」是什麼意思?
編輯了以前的編輯,創建「googleable」標籤沒有意義 – 2010-08-30 09:47:21
我想要一個「Googeable」徽章 – Daniel 2010-08-30 10:20:39
作爲一個爲自己學習而奮鬥的人。讓我提出一些建設性的批評。先做好功課,並向他人展示這種勞動的成果。首先谷歌這個問題。然後創建一些具體的例子,看看別人是否可以批評你的理解。這樣你就可以建立對自己的尊重,並尊重他人。祝你好運。我們都學習。 – GeekyOmega 2012-08-07 19:30:28