ArrayList al=new ArrayList();
Collection c=new ArrayList();
objectal
和 和有什么不一样c
?他们两个是一样的还是什么?
ArrayList al=new ArrayList();
Collection c=new ArrayList();
objectal
和 和有什么不一样c
?他们两个是一样的还是什么?
Collections API 是一组支持对对象集合进行操作的类和接口。
类示例:HashSet、HashMap、ArrayList、LinkedList、TreeSet 和 TreeMap。接口示例:Collection、Set、List 和 Map。
而 ArrayList:它是可重新调整大小的数组实现。属于集合中的“列表”组。它允许所有元素,包括 null。它不是线程安全的。
集合:它实现了对集合进行操作的多态算法。
集合:它是集合层次结构中的根接口。
以下接口(集合类型)扩展了 Collection 接口:
Java 不附带 Collection 接口的可用实现,因此您必须使用列出的子类型之一。Collection 接口只定义了这些 Collection 子类型中的每一个共享的一组方法(行为)。这使得可以忽略您正在使用的特定类型的集合,并将其视为集合。这是标准继承,所以没有什么神奇之处,但有时它仍然是一个不错的功能。
第二个是接口编码。它允许ArrayList
将 替换为另一个Collection
(例如Vector
或TreeSet
)而没有任何副作用。
创建了相同的对象,但引用不同。
因此,在第二种情况下,除非强制转换,否则您可以将ArrayList
only 视为 just 。Collection
在al
你被阻止只使用数组列表。除了arraylist,你不能转换/转换任何东西。
在c
您可以转换/转换任何实现该Collection
接口的类。
Collection foo = new ArrayList();
这个更通用,你可以获得 Collection 的其他实现的好处。