set為什么是無序的 怎么理解Set集合中的HashSet中的元素是無序的?
怎么理解Set集合中的HashSet中的元素是無序的?要理解這一點,請認(rèn)為set是一個接口。接口的契約非常簡單,不能保證太多。集合契約的核心是“非重復(fù)要素的集合”,沒有秩序的保證(即無限制、無秩序、無
怎么理解Set集合中的HashSet中的元素是無序的?
要理解這一點,請認(rèn)為set是一個接口。接口的契約非常簡單,不能保證太多。集合契約的核心是“非重復(fù)要素的集合”,沒有秩序的保證(即無限制、無秩序、無秩序)。實現(xiàn)這個接口的類可以提供有序和無序的實現(xiàn)。當(dāng)HashSet保存數(shù)據(jù)時,它顯然必須按一定的順序?qū)?shù)據(jù)放入它后面的數(shù)組中,但順序不受用戶控制,這對用戶來說是“無序的”。另一方面,sortedset接口的契約包含“其元素不重復(fù)并且不以用戶指定的方式排序的集合”的含義。sortedset接口滿足set接口的契約,并添加一個附加的“訂購”契約。
set為什么是無序的而list是有序?
1. 列表和集合是從集合接口繼承的。2列表特性:元素按順序排列,并且元素是可重復(fù)的。設(shè)置特征:元素不按順序排列,元素不可重復(fù)。(注意:雖然元素沒有按順序排列,但是元素在集合中的位置是由元素的hashcode決定的,它的位置實際上是固定的。)。list接口有三個實現(xiàn)類:LinkedList、ArrayList、vector,set接口有兩個實現(xiàn)類:HashSet(底層由HashMap實現(xiàn))、linkedhashset