欢迎来到我的博客

java HashMap怎么用

java HashMap怎么用

1、创建HashMap变量

创建HashMap变量的格式如下图。

创建HashMap变量需指定键和值的数据类型,图中创建的变量的键是Integer类型,值是String类型。

 `mport java.util.HashMap;`

   `public class Hash {`
   	`public static void main(String[] args) {`
   		`HashMap<Integer ,String> hashmap = new HashMap<>();`
   	`}`

   `}`

2、向HashMap变量添加值

通过HashMap的put方法可以向变量中添加值。

put方法有两个参数,就是要添加的数据的键和值。

如图简单地通过循环向变量中添加值。

 ``String[] name = {"zahgnsna","lisi","wnagwu"};`
   		`for(int i = 0 ; i <name.length;i++) {`
   			`hashmap.put(i+1,name[i]);`
   		`}`
   	}`

3、从HashMap变量获取值

通过HashMap的get方法可以向变量中取值。

get方法需要传入一个参数,那个参数是键值,在HashMap中,键值是唯一的。如图是取键值为2时对应的值。

String names = hashmap.get(2); System.out.println("key值为2对应的value值为:"+names);

4、遍历HashMap变量

遍历HashMap变量不能像遍历数组那样直接通过索引值来遍历,

可以通过HashMap的keySet()方法获取变量中存放的所有键值,然后再通过遍历键获取对应的值。具体代码如图。

f`or(Integer id :hashmap.keySet()) {`
			`System.out.println("id"+id+",name:"+hashmap.get(id));`
		`}`
		System.out.println();`

`

5、修改HashMap变量中的值

在HashMap中,想修改其中存放的值,可以通过使用put方法,将原有的值覆盖。如图是通过覆盖原有键为2的值来修改变量中存放的内容。

`S`ystem.out.println("修改前:id = 2,name:"+hashmap.get(2));`
		`hashmap.put(2,"xxx");`
		`System.out.println("修改后:id = 2,name:"+hashmap.get(2));`
		System.out.println();`

6、删除HashMap变量中的值

由于键值是对应的,所以只有删除HashMap中的键,就会连同删除键对应的值。通过使用HashMap的remove方法,可以删除HashMap变量中的内容。

这里讲一下remove方法的两个重载函数,remove(Object key) 和 remove(Object key, Object value)。这两个函数的区别在于,remove(Object key)直接删除对应的键,而remove(Object key, Object value)需要键和值都对应时才会删除HashMap变量中的内容。(具体效果看后面步骤)。

`S`ystem.out.println("删除前:");`
		`for(Integer id :hashmap.keySet()) {`
			`System.out.println("id:"+id+",name:"+hashmap.get(id));`
		`}`
		`System.out.println("删除后:");`
		`hashmap.remove(2);`
		`for(Integer id :hashmap.keySet()) {`
			`System.out.println("id:"+id+"name:"+hashmap.get(id));`
		`}`
		System.out.println();`

7、编写程序测试结果

`import java.util.HashMap;`

`public class Hash {`
	`public static void main(String[] args) {`
		`HashMap<Integer ,String> hashmap = new HashMap<>();`
		`String[] name = {"zahgnsna","lisi","wnagwu"};`
		`for(int i = 0 ; i <name.length;i++) {`
			`hashmap.put(i+1,name[i]);`
		`}`
		`String names = hashmap.get(2);`
		`System.out.println("key值为2对应的value值为:"+names);`
		`for(Integer id :hashmap.keySet()) {`
			`System.out.println("id"+id+",name:"+hashmap.get(id));`
		`}`
		`System.out.println();`
		`System.out.println("修改前:id = 2,name:"+hashmap.get(2));`
		`hashmap.put(2,"xxx");`
		`System.out.println("修改后:id = 2,name:"+hashmap.get(2));`
		`System.out.println();`
		`System.out.println("删除前:");`
		`for(Integer id :hashmap.keySet()) {`
			`System.out.println("id:"+id+",name:"+hashmap.get(id));`
		`}`
		`System.out.println("删除后:");`
		`hashmap.remove(2);`
		`for(Integer id :hashmap.keySet()) {`
			`System.out.println("id:"+id+"name:"+hashmap.get(id));`
		`}`
		`System.out.println();`
	`}`
``	

`}`

8、联系方式

qq:2061302791

微信:xie2061302791

电话:15284524485

个人网站:https://xieyingpeng.github.io

Github:https://github.com/xieyingpeng/

博客园:https://www.cnblogs.com/Xieyingpengz

知乎:https://www.zhihu.com/people/nan-qiao-12-73

gitee:https://gitee.com/xie-yingpeng/project-1.git

bilibili:https://space.bilibili.com/617198338?share_medium=android&share_source=copy_link&bbid=XY2BDF522C748A159BE7DD354D6DFFB963728&ts=1612520115798![]

posted @ 2021-04-05 13:50  XieYingpeng  阅读(351)  评论(0编辑  收藏  举报