欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

HashMap的基本使用

程序员文章站 2022-09-27 21:32:20
常用方法 首先,我们应该知道HashMap类实现了Map接口,所以实现了Map常用的一些方法。 (1) 插入键值对数据 public V put(K key, V value) (2)根据键值获取键值对值数据 public V get(Object key) (3)获取Map中键值对的个数 publ ......

常用方法

首先,我们应该知道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