日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

java linkedhashmap_java学习-hashMap和linkedHashMap

發(fā)布時(shí)間:2024/10/8 编程问答 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 java linkedhashmap_java学习-hashMap和linkedHashMap 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

1、hashMap和linkedHashMap和treeMap

1 * LinkedHashMap是繼承于HashMap,是基于HashMap和雙向鏈表來實(shí)現(xiàn)的。

2 * HashMap無序;LinkedHashMap有序,可分為插入順序和訪問順序兩種。

3 * 如果是訪問順序,那put和get操作已存在的Entry時(shí),都會(huì)把Entry移動(dòng)到雙向鏈表的表尾(其實(shí)是先刪除再插入)。

4 * LinkedHashMap存取數(shù)據(jù),還是跟HashMap一樣使用的Entry[]的方式,雙向鏈表只是為了保證順序。

5 * LinkedHashMap是線程不安全的。

hashMap示例

//無序

Map hashMap = new HashMap<>();

hashMap.put("No1","小明1");

hashMap.put("No2","小明2");

hashMap.put("No3","小明3");

System.out.println("hashMap=>" + hashMap);

linkedHashMap示例

1 // 有序,線程不安全,雙向鏈表

2 // LinkedHashMap默認(rèn)的構(gòu)造參數(shù)是默認(rèn)按照插入順序的,就是說你插入的是什么順序,3 3 讀出來的就是什么順序, 但是也有訪問順序,就是說你訪問了一個(gè)key,這個(gè)key就跑到了最4 后面

5 // 這里accessOrder設(shè)置為false,表示不是訪問順序而是插入順序存儲(chǔ)的,這也是默認(rèn)值,

6 // 表示LinkedHashMap中存儲(chǔ)的順序是按照調(diào)用put方法插入的順序進(jìn)行排序的。

7 LinkedHashMap也提供了可以設(shè)置accessOrder的構(gòu)造方法

8 Map linkedHashMap = new LinkedHashMap<>(16,0.75f,true);

9 linkedHashMap.put("No1","小明1");

10 linkedHashMap.put("No2","小明2");

11 linkedHashMap.put("No3","小明3");

12 System.out.println("開始時(shí)=>linkedHashMap=>" + linkedHashMap);

13 //set 迭代

14 // Set> set = hashMap.entrySet();

15 // System.out.println(set);

16 // Iterator> iterator = set.iterator();

17 // while(iterator.hasNext()){

18 // Map.Entry entry = iterator.next();

19 // System.out.println("key=>" + (String) entry.getKey());

20 // System.out.println("value=>" + (String) entry.getValue());

21 // }

22 Set> set2 = linkedHashMap.entrySet();

23 Iterator> iterator2 = set2.iterator();

24 while(iterator2.hasNext()){

25 Map.Entry entry = iterator2.next();

26 String key = (String) entry.getKey();

27 String value = (String) entry.getValue();

28 System.out.println("key:" + key + ",value:" + value);

29 }

30 String s = linkedHashMap.get("No2");

31 System.out.println("結(jié)束時(shí)=>linkedHashMap=>" + linkedHashMap);

32 Set> set3 = linkedHashMap.entrySet();

33 Iterator> iterator3 = set3.iterator();

34 while(iterator3.hasNext()){

35 Map.Entry entry = iterator3.next();

37 String key = (String) entry.getKey();

38 String value = (String) entry.getValue();

39 System.out.println("key:" + key + ",value:" + value);

40 }

treeMap

1 // TreeMap中默認(rèn)的排序?yàn)樯?#xff0c;如果要改變其排序可以自己寫一個(gè)Comparator

2 TreeMap treeMap = new TreeMap();

3 treeMap.put("No1",1);

4 treeMap.put("No3",3);

5 treeMap.put("No2",2);

6 System.out.println("treeMap=>" + treeMap);

請(qǐng)保持微笑的眼睛,才能看到更多美麗的風(fēng)景 余生很貴,請(qǐng)勿浪費(fèi)

總結(jié)

以上是生活随笔為你收集整理的java linkedhashmap_java学习-hashMap和linkedHashMap的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。