collection接口怎么使用 collection接口的子類有哪些?
collection接口的子類有哪些?Collection下的常用子接口是Listretainall實現原理?rJava集合類庫的頂層里的Collection,List,Set是抽象類的話是否更“正確
collection接口的子類有哪些?
Collection下的常用子接口是List
retainall實現原理?
r
Java集合類庫的頂層里的Collection,List,Set是抽象類的話是否更“正確”一些?
不正確,java是單繼承的。如果頂層是抽象類,對后期的代碼擴展是不利的。java的接口是多實現的,官方對java的集合、集合、列表的設計也是接口設計,符合java實現多少個接口的特點。如果都設計成抽象類,我們自己的類在實際開發(fā)中是實現不了的。具體來說,它們的結構如下:
集合接口的接口對象集合(單列集合)
├——-List界面:元素按照錄入的順序依次保存,可以重復。
│—————-├ LinkedList接口實現類,鏈表,插入和刪除,沒有同步,線程不安全。
│—————-├ ArrayList接口實現了類、數組、隨機訪問、無同步和不安全線程。
│—————-└向量接口實現了類數組、同步和線程安全。
│————————└堆棧是Vector類的實現類。
└——-Set接口:只接收一次,不能重復,內部排序。
├—————-└HashSet使用哈希表(數組)來存儲元素。
│————————└鏈表維護元素的插入順序。
└———————樹集的底部被實現為一個二叉樹,元素排列有序。