collection接口怎么使用 collection接口的子类有哪些?
collection接口的子类有哪些?Collection下的常用子接口是Listretainall实现原理?rJava集合类库的顶层里的Collection,List,Set是抽象类的话是否更“正确
collection接口的子类有哪些?
Collection下的常用子接口是List
retainall实现原理?
r
Java集合类库的顶层里的Collection,List,Set是抽象类的话是否更“正确”一些?
不正确,java是单继承的。如果顶层是抽象类,对后期的代码扩展是不利的。java的接口是多实现的,官方对java的集合、集合、列表的设计也是接口设计,符合java实现多少个接口的特点。如果都设计成抽象类,我们自己的类在实际开发中是实现不了的。具体来说,它们的结构如下:
集合接口的接口对象集合(单列集合)
├——-List界面:元素按照录入的顺序依次保存,可以重复。
│—————-├ LinkedList接口实现类,链表,插入和删除,没有同步,线程不安全。
│—————-├ ArrayList接口实现了类、数组、随机访问、无同步和不安全线程。
│—————-└向量接口实现了类数组、同步和线程安全。
│————————└堆栈是Vector类的实现类。
└——-Set接口:只接收一次,不能重复,内部排序。
├—————-└HashSet使用哈希表(数组)来存储元素。
│————————└链表维护元素的插入顺序。
└———————树集的底部被实现为一个二叉树,元素排列有序。