ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

HashMap和TreeMap

2022-04-07 22:02:50  阅读:171  来源: 互联网

标签:map HashMap Map TreeMap map1 key put


有关Map/HashMap的常用函数:

(1).添加,删除,修改操作:

 1 public static void MapTest1()
 2     {
 3         Map map = new HashMap();
 4         map.put("a", 1);//插入键值对元素(Entry):a=1
 5         map.put("c", 3);
 6         map.put("b", 2);
 7 
 8         Map map1 = new HashMap();
 9         map1.put("d", 1);
10         map1.put("e", 3);
11         map1.put("b", 2);
12 
13         map.putAll(map1);//将所有map1中与map中key不相同的元素全部存入map中
14 
15         map.remove("b");//如果存在key为b的元素则将其删除
16         map.remove("a",2);//key和value要都符合才会删除
17         map.remove("a",1);
18 
19         map.clear();//情况map数据结构
20 
21         System.out.println(map);
22     }

(2).元素查询操作:

 1 public static void MapTest2()
 2     {
 3         Map map = new HashMap();
 4         map.put("a", 1);
 5         map.put("c", 3);
 6         map.put("b", 2);
 7         map.put("e", 5);
 8 
 9         Object a = map.get("a");//获取key为a的元素所对应的value
10         Object f = map.get("f");//如果没查到则返回null
11 
12         int size = map.size();//获取map的元素个数
13 
14         boolean isContain1 = map.containsKey("a");//查是否存在叫"a"的key
15         boolean isContain2 = map.containsValue(1);//查是否存在叫1的value
16 
17         boolean isEmpty = map.isEmpty();//判断是否为空
18 
19         Map map1 = new HashMap();
20         map1.put("a", 1);
21         map1.put("c", 3);
22         map1.put("b", 2);
23         map1.put("e", 5);
24         boolean isEquals = map.equals(map1);//具体判断每个元素是否都是相等,而不是看它们是否地址相同
25         System.out.println(isEquals);
26 
27     }

 

2.TreeMap(其使用与TreeSet类似):

采用红黑树底层结构,且使Map种的元素变得有序

其是对Key进行排序,所以其中的key的元素类型一定要有确定的Comparable接口或是给定的Comparator对象

标签:map,HashMap,Map,TreeMap,map1,key,put
来源: https://www.cnblogs.com/jue1e0/p/16114462.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有