在Java中,Collection和List之间有什么区别?我应该在什么时候使用哪个?
Collection
List
Collection是Java Collections层次结构的根接口。List是一个定义有序集合的子接口,其他子接口是Queue,它通常存储准备处理的元素(例如,堆叠)。
Queue
下图演示了不同Java集合类型之间的关系:
收藏是描述可以包含其他对象集合的Java对象的高级接口。关于如何访问它们,同一集合中是否可以存在同一对象的多个副本,或者顺序是否重要,这些都不是非常特定的。名单是命令的的对象集合。如果以特定顺序将对象放入列表中,则它们将保持该顺序。
决定在哪里使用这两个接口远不如决定您使用的具体实现重要。这将对程序的时间和空间性能产生影响。例如,如果你想要一个列表,你可以使用ArrayList或LinkedList,它们中的每一个都会对应用程序产生影响。对于其他集合类型(例如集合),类似的注意事项也适用。
首先,List是Collection。但是,它是一种专门的Collection。
Collection就是:项目的集合。您可以添加内容、删除内容、迭代内容并查询其中有多少内容。
List将有关已定义物料序列的信息添加到其中:您可以获取ABC__1__位置的要素,您可以添加ABC__1__位置的要素,您可以删除ABC__1__位置的要素。
在Collection中,您不能这样做:“此集合中的第5个元素”未定义,因为没有定义顺序。
还有其他专门的集合,例如Set,它添加了永远不会包含相同元素两次的功能。
Set
收藏是列表的超级接口,因此每个Java列表也是集合的一个实例。集合只能顺序迭代(没有特定的顺序),而列表允许通过get(int index)方法访问特定位置的元素。
get(int index)
Java API是回答这个问题的最佳方法。
收藏
集合中的根接口 等级制度。一个集合表示一个 一组对象,称为其 元素。一些集合允许 重复元素,而其他元素则不重复。 有些是有序的,有些是无序的。 JDK不提供任何直接的 此接口的实现:IT 提供更多的实现 特定的子接口,如SET和 名单。通常使用此接口 传递集合并 在最大值处操纵它们 需要通用性。
的根接口 等级制度。一个集合表示一个 一组对象,称为其 元素。一些集合允许 重复元素,而其他元素则不重复。 有些是有序的,有些是无序的。 JDK不提供任何直接的 此接口的实现:IT 提供更多的实现 特定的子接口,如SET和 名单。通常使用此接口 传递集合并 在最大值处操纵它们 需要通用性。
名单(扩展集合)
有序集合(也称为 序列)。此界面的用户 可以精确控制 列出插入的每个元素。这个 用户可以通过其访问元素 整数索引(列表中的位置), 并在列表中搜索元素。 与集合不同,列表通常允许 重复元素。更正式地说, 列表通常允许成对 元素E1和E2,使得 E1.等于(E2),并且它们通常 允许多个null元素,如果它们 完全允许NULL元素。它不是 很难想象有人会希望 执行一份禁止 重复项,通过抛出运行时 用户尝试执行以下操作时出现异常 插入它们,但我们期望这种用法 为了稀有.
有序集合(也称为 序列)。此界面的用户 可以精确控制 列出插入的每个元素。这个 用户可以通过其访问元素 整数索引(列表中的位置), 并在列表中搜索元素。
集合不同,列表通常允许 重复元素。更正式地说, 列表通常允许成对 元素E1和E2,使得 E1.等于(E2),并且它们通常 允许多个null元素,如果它们 完全允许NULL元素。它不是 很难想象有人会希望 执行一份禁止 重复项,通过抛出运行时 用户尝试执行以下操作时出现异常 插入它们,但我们期望这种用法 为了稀有.
Collection是Java集合层次结构的主接口,List(Sequence)是定义有序集合的子接口之一。
列表和集合是集合的两个子类。
在列表中,数据按特定顺序排列。
在集合中,不能包含两次相同的数据。
在集合中,它只是存储没有特定顺序的数据,并且可以包含重复的数据。