Java中Collection和Arraylist的区别?
可能重复:Java中Collection和Arraylist的区别?,java,Java,可能重复: 对象al和c之间有什么区别?它们是相同的还是什么?创建了相同的对象,但引用不同 因此,在第二种情况下,您只能像处理集合一样处理ArrayList,除非进行强制转换。第二种情况是。它允许将ArrayList替换为另一个集合(例如向量或树集),而不会产生任何副作用。集合是一种安全的方法。看看这些方法 列表具有按索引访问的方法。列表还扩展了集合接口 ArrayList是实现List接口的具体实现。ArrayList 你所做的只是一些抽象 如果您这样做: Collection foo =
对象
al
和c
之间有什么区别?它们是相同的还是什么?创建了相同的对象,但引用不同
因此,在第二种情况下,您只能像处理集合一样处理
ArrayList
,除非进行强制转换。第二种情况是。它允许将ArrayList
替换为另一个集合
(例如向量
或树集
),而不会产生任何副作用。集合
是一种安全的方法。看看这些方法
列表
具有按索引访问的方法。列表还扩展了集合
接口
ArrayList
是实现List
接口的具体实现。ArrayList
你所做的只是一些抽象
如果您这样做:
Collection foo = new ArrayList();
您将无法访问
列表
接口方法。例如使用索引访问。在al
中,您被阻止仅使用ArrayList。除了arraylist,您无法转换/强制转换任何内容
在
c
中,可以转换/强制转换实现集合
接口的任何类。集合API是一组支持对象集合操作的类和接口
类的示例:HashSet、HashMap、ArrayList、LinkedList、TreeSet和TreeMap。
接口示例:集合、集合、列表和映射
鉴于,
ArrayList:它是可重新调整大小的阵列实现。属于集合中的“列表”组。它允许所有元素,包括null。它不是线程安全的
集合:它实现对集合进行操作的多态算法
集合:它是集合层次结构中的根接口
以下接口(集合类型)扩展了集合接口:
- 名单
- 设置
- 分类集
- NavigableSet
- 排队
- 德克
Collection foo = new ArrayList();
这一个更通用,您可以从其他集合实现中获得好处。“问题太简单了”,但只有这个答案触及问题的核心。在我看来,这不是对“琐碎问题”的回答。它不能解释为什么对象al和c是根本不同的。
Collection foo = new ArrayList();