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
上一篇: WMware workstation中几种网络连接的说明 【转】
下一篇: SSM 框架集成
推荐阅读
-
iPhone12系列支持ipad充电器吗 iPhone12可不可以使用之前的充电器
-
node.js中的fs.linkSync方法使用说明_node.js
-
在PPT中使用快捷键来快速定位到想要的某一张幻灯片页面上
-
编写一个函数 reverse_string(char * string)(递归实现) 实现:将参数字符串中的字符反向排列。 要求:不能使用C函数库中的字符串操作函数。
-
ajax根据ID查询数据库并返回Json格式数据返回js,使用append显示到页面。判断json值为[]或者[[]]的问题。
-
PowerPoint文本框输入使用字体中的下标效果为字符设置下标
-
Promise 的基本用法
-
在AspNetCore中扩展Log系列 - 介绍开源类库的使用(一)
-
在Linux系统中使用SHA256来校验下载的文件的方法
-
很简单的批量小计求和 使用快捷键配合鼠标分秒搞定