当前位置: 移动技术网 > IT编程>开发语言>Java > HashMap的基本使用

HashMap的基本使用

2019年07月22日  | 移动技术网IT编程  | 我要评论

常用方法

首先,我们应该知道hashmap类实现了map接口,所以实现了map常用的一些方法。

(1) 插入键值对数据

public v put(k key, v value)

(2)根据键值获取键值对值数据

public v get(object key)

(3)获取map中键值对的个数

public int size()

(4)判断map集合中是否包含键为key的键值对

public boolean containskey(object key)

(5)判断map集合中是否包含值为value的键值对

boolean containsvalue(object value)

(6)判断map集合中是否没有任何键值对

public boolean isempty()

(7)清空map集合中所有的键值对

public void clear()

(8)根据键值删除map中键值对

public v remove(object key)

示例

 1 import java.util.hashmap;
 2 import java.util.map;
 3 
 4 public class demo01 {
 5 
 6     public static void main(string[] args) {
 7         // 声明hashmap对象
 8         map<string,integer> map= new hashmap<>();
 9 
10         //添加数据
11         map.put("zhangyi",98);
12         map.put("wanger",99);
13         map.put("zhangshan",89);
14         map.put("lisi",92);
15 
16         //根据键值对键值获取数据‘’
17         int value=map.get("lisi");
18         system.out.println("kay:lisi and value:"+value);
19 
20         //获取map中键值对的个数
21         int size=map.size();
22         system.out.println("map 中的键值对个数为:"+size);
23 
24         //判断map集合中是否包含键为key的键值对
25         boolean b1=map.containskey("lisi");
26         boolean b2=map.containskey("lisi");
27         system.out.println("是否包含键值为lisi的键值对数据:"+b1);
28         system.out.println("是否包含键值为lisi的键值对数据:"+b2);
29 
30         //判断map集合中是否包含值为value的键值对
31         boolean b3=map.containsvalue(99);
32         boolean b4=map.containsvalue(100);
33         system.out.println("是否包含值为99的键值对数据:"+b3);
34         system.out.println("是否包含值为100的键值对数据:"+b4);
35 
36         //判断map集合中是否没有任何键值对
37 
38         boolean b5=map.isempty();
39         system.out.println("map中键值对数据是否为空:"+b5);
40 
41         //根据键值删除map中键值对
42         int value2=map.remove("lisi");
43         system.out.println("删除了键为lisi的键值对数据,其值为:"+value2);
44 
45         boolean b6=map.containskey("lisi");
46         system.out.println("是否包含键值为lisi的键值对数据:"+b6);
47 
48         //清空map集合中所有的键值对
49         map.clear();
50         boolean b7=map.isempty();
51         system.out.println("map中键值对数据是否为空:"+b7);
52 
53     }
54 }

 

输出结果为:

kay:lisi and value:92
map 中的键值对个数为:4
是否包含键值为lisi的键值对数据:false
是否包含键值为lisi的键值对数据:true
是否包含值为99的键值对数据:true
是否包含值为100的键值对数据:false
map中键值对数据是否为空:false
删除了键为lisi的键值对数据,其值为:92
是否包含键值为lisi的键值对数据:false
map中键值对数据是否为空:true

 

 

键值对数据遍历

(1)将map中所有的键装到set集合中返回

//public set<k> keyset();
set<k> set=map. keyset()

(2)返回集合中所有的value的值的集合

// public collection<v> values();
collection<v> c=map.values()

(3)将每个键值对封装到一个个entry对象中,再把所有entry的对象封装到set集合中返回

// public set<map.entry<k,v>> entrtset();
set<map.entry<k,v>> entrys=map.entryset()

示例:

 1 import java.util.collection;
 2 import java.util.hashmap;
 3 import java.util.map;
 4 import java.util.set;
 5 
 6 public class demo02 {
 7     public static void main(string[] args) {
 8         // 声明hashmap对象
 9         map<string,integer> map= new hashmap<>();
10 
11         //添加数据
12         map.put("zhangyi",98);
13         map.put("wanger",99);
14         map.put("zhangshan",89);
15         map.put("lisi",92);
16 
17         //(1)将map中所有的键装到set集合中返回
18         set<string> keys=map.keyset();
19         for(string key:keys){
20             int value=map.get(key);
21             system.out.println("key:"+key+"  and  value:"+value);
22         }
23 
24         //(2)返回集合中所有的value的值的集合
25         collection<integer> values=map.values();
26         for(int value:values){
27             system.out.print(value+"   ");
28         }
29         system.out.println();
30 
31         //(3)将每个键值对封装到一个个entry对象中,再把所有entry的对象封装到set集合中返回
32         set<map.entry<string,integer>> entries=map.entryset();
33         for(map.entry<string,integer> entry :entries){
34             string key=entry.getkey();
35             int value=entry.getvalue();
36             system.out.println("key:"+key+"  and  value:"+value);
37         }
38     }
39 
40 }

 

输出结果为:

key:lisi  and  value:92
key:zhangyi  and  value:98
key:zhangshan  and  value:89
key:wanger  and  value:99
92   98   89   99   
key:lisi  and  value:92
key:zhangyi  and  value:98
key:zhangshan  and  value:89
key:wanger  and  value:99

 

 

 

 

 

 

 

 

如对本文有疑问, 点击进行留言回复!!

相关文章:

验证码:
移动技术网