什么是java集合?

时间:2010-08-30 09:35:38

标签: java collections

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

5 个答案:

答案 0 :(得分:25)

通常是java.util.Collection的实例(尽管java.util.Map正式也是集合框架的一部分)

虽然Collection接口可以直接实现,但通常客户端代码将使用其中一个子接口的实现:SetListQueue / Deque < / p>

以下是一些示例代码(左侧通常会显示一个界面,右侧会显示一个实现类)。

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"); // add item to beginning
strings.add(3, "One"); // add item at position 3 (zero-based)
strings.add("Three");
strings.add(strings.size() - 1, "Two"); // add item at last-but-one position
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 Tutorial(在线)中的The Collections Trail或Maurice Naftalin和Philip Wadler撰写的Java Generics and Collections

答案 1 :(得分:11)

我认为这个问题最好以非编程的方式回答。

假设您有5个球,并且您想要轻松移动它们。你得到一个袋子并将5个球放在里面。袋子充当容器。你现在可以移动这个包,很容易让5个球随之移动。

简单地说,您将零个或多个对象放在另一个对象中以便于检索。

答案 2 :(得分:10)

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

  

集合层次结构中的根接口。 集合表示一组对象,称为其元素。某些集合允许重复元素,而其他集合则不允许。有些是订购的,有些是无序的。 JDK不提供此接口的任何直接实现:它提供了更具体的子接口(如Set和List)的实现。此接口通常用于传递集合并在需要最大通用性的情况下对其进行操作。

集合的常见示例包括:ArrayListHashSetLinkedListStackVector

答案 3 :(得分:2)

这是一个实现java.util.Collection接口的类。

对于那些实现java.util.Map的人来说还有另一个分支。

这些是Java中数据结构的基础:List,Set,LinkedList,HashMap,TreeMap等。

答案 4 :(得分:2)

引用Java API“一个集合 - 有时称为容器 - 只是一个将多个元素组合成一个单元的对象。”