set無序,list有序的正確理解

2021-09-13 10:23:47 字數 724 閱讀 1648

1、list,set都是繼承自collection介面。list特點:元素有放入順序,元素可重複 。set特點:元素無放入順序,元素不可重複。注意,元素雖然無放入順序,但是元素在set中的位置是有該元素的hashcode決定的,其位置其實是固定的。

2、其實,有序或無序是指是否按照其新增的順序來儲存物件。list 是按照元素的新增順序來儲存的。而 set 的實現類都有一套自己的排序演算法,每新增乙個元素,都會按照其內部演算法將元素新增到合適的位置,所以set集合不能有重複的元素,也不能保證內部儲存是按元素新增的順序而儲存的。

3、list介面有三個實現類:linkedlist,arraylist,vector ,set介面有兩個實現類:hashset(底層由hashmap實現),linkedhashset

4、map.keyset(),表示將map物件的所有key值已set集合的形式返回,因為key值是不可重複的,因此這裡用set集合儲存key並返回也符合規則。

5、map.keyset()方法把key對映到set裡,其是否有序,文件沒有明確說明,個人做測試後結論大致如下:

hashtable.keyset()          降序

treemap.keyset()            公升序

hashmap.keyset()            亂序

linkedhashmap.keyset()      原序

這樣,map.keyset()得到的set集合順序取決於不同的map型別。

kafka 的有序與無序

同時建立kafka生產者produce,kafka消費者consumer,其中我們的topic建立了3個分割槽,生產者傳送幾條資料,使用命令檢視消費。可以看到剛剛生產的這幾條資料,當我退出消費命令,重新使用消費者命令來消費資料時,看一下資料 這時候看到的資料時無序的,總結一點 單個分割槽 有序 全域...

kafka 的有序與無序

同時建立kafka生產者produce,kafka消費者consumer,其中我們的topic建立了3個分割槽,生產者傳送幾條資料,使用命令檢視消費。可以看到剛剛生產的這幾條資料,當我退出消費命令,重新使用消費者命令來消費資料時,看一下資料 這時候看到的資料時無序的,總結一點 單個分割槽 有序 全域...

HTML列表有序無序的轉變

html 支援有序 無序和定義列表 第乙個列表項 第二個列表項 第三個列表項 無序列表 本例演示無序列表。有序列表 本例演示有序列表。可以在本頁底端找到更多例項。無序列表是乙個專案的列表,此列專案使用粗體圓點 典型的小黑圓圈 進行標記。無序列表使用 瀏覽器顯示如下 同樣,有序列表也是一列專案,列表專...