List , Set 都是繼承自Collection 接口
List 特點(diǎn):一個(gè)有序(元素存入集合的順序和取出的順序一致)容器,元素可以重復(fù),可以插入多個(gè)null元素,元素都有索引。常用的實(shí)現(xiàn)類有 ArrayList、LinkedList 和 Vector。
Set 特點(diǎn):一個(gè)無(wú)序(存入和取出順序有可能不一致)容器,不可以存儲(chǔ)重復(fù)元素,只允許存入一個(gè)null元素,必須保證元素唯一性。Set 接口常用實(shí)現(xiàn)類是 HashSet、LinkedHashSet 以及 TreeSet。
另外 List 支持for循環(huán),也就是通過(guò)下標(biāo)來(lái)遍歷,也可以用迭代器,但是set只能用迭代,因?yàn)樗麩o(wú)序,無(wú)法用下標(biāo)來(lái)取得想要的值。
Set和List對(duì)比
Set:檢索元素效率低下,刪除和插入效率高,插入和刪除不會(huì)引起元素位置改變。List:和數(shù)組類似,List可以動(dòng)態(tài)增長(zhǎng),查找元素效率高,插入刪除元素效率低,因?yàn)闀?huì)引起其他元素位置改變