不正確,java是單繼承的,如果頂層是抽象類,對于后面的代碼擴展很不利的。而java的接口是多實現的,java官方對于Collection和set、List設計的也都是接口來設計,符合了java的接口多少實現的特性。如果都是設計成抽象類,后面我們在實際開發中,自己的類就沒法實現了。具體它們的結構如下:
Collection接口的接口對象的集合(單列集合)
├——-List接口:元素按進入先后有序保存,可重復
│—————-├LinkedList接口實現類,鏈表,插入刪除,沒有同步,線程不安全
│—————-├ArrayList接口實現類,數組,隨機訪問,沒有同步,線程不安全
│—————-└Vector接口實現類數組,同步,線程安全
│———————-└Stack是Vector類的實現類
└——-Set接口:僅接收一次,不可重復,并做內部排序
├—————-└HashSet使用hash表(數組)存儲元素
│————————└LinkedHashSet鏈表維護元素的插入次序
└—————-TreeSet底層實現為二叉樹,元素排好序