abstrakt:首先,清楚有序和無(wú)序是什么意思:集合的有序、無(wú)序是指插入元素時(shí),保持插入的順序性,也就是先插入的元素優(yōu)先放入集合的前面部分。 而排序是指插入元素后,集合中的元素是否自動(dòng)排序。(例如升序排序)1.有序集合:集合里的元素可以根據(jù)key或index訪問(wèn).無(wú)序集合:集合里的元素只能遍歷。有序集合在屬性的增加,刪除及修改中擁有較好的性能表現(xiàn)。Set集合一般是無(wú)序的。實(shí)現(xiàn)hash算法的集合一般是無(wú)序
首先,清楚有序和無(wú)序是什么意思:
集合的有序、無(wú)序是指插入元素時(shí),保持插入的順序性,也就是先插入的元素優(yōu)先放入集合的前面部分。
而排序是指插入元素后,集合中的元素是否自動(dòng)排序。(例如升序排序)
1.有序集合:集合里的元素可以根據(jù)key或index訪問(wèn)
.無(wú)序集合:集合里的元素只能遍歷。
有序集合在屬性的增加,刪除及修改中擁有較好的性能表現(xiàn)。
Set集合一般是無(wú)序的。實(shí)現(xiàn)hash算法的集合一般是無(wú)序的,例如hashMap,hashTable
List集合一般是有序的。
底層是Tree的一般是有序的,例如TreeSet,TreeMap
底層有l(wèi)ined的一般是有序的,它會(huì)用鏈表維護(hù)元素的順序。
綜上:
有序的:
List的所有子類(lèi)
無(wú)序的:一般的Set,除了TreeSet,linkedHashSet等底層是樹(shù)或者鏈表的。一般的Map,除了底層是樹(shù)或者鏈表的。
已知的線程安全集合:
vector,hashtable,statck,enumeration