1、创建HashMap变量
创建HashMap变量的格式如下图。
创建HashMap变量需指定键和值的数据类型,图中创建的变量的键是Integer类型,值是String类型。
1 2 3 4 5 6 7 8
| `mport java.util.HashMap;`
`public class Hash {` `public static void main(String[] args) {` `HashMap<Integer ,String> hashmap = new HashMap<>();` `}`
`}`
|
2、向HashMap变量添加值
通过HashMap的put方法可以向变量中添加值。
put方法有两个参数,就是要添加的数据的键和值。
如图简单地通过循环向变量中添加值。
1 2 3 4 5
| ``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时对应的值。
1
| S`tring names = hashmap.get(2);`System.out.println("key值为2对应的value值为:"+names);
|
4、遍历HashMap变量
遍历HashMap变量不能像遍历数组那样直接通过索引值来遍历,
可以通过HashMap的keySet()方法获取变量中存放的所有键值,然后再通过遍历键获取对应的值。具体代码如图。
1 2 3 4
| f`or(Integer id :hashmap.keySet()) {` `System.out.println("id"+id+",name:"+hashmap.get(id));` `}` System.out.println();`
|
`
5、修改HashMap变量中的值
在HashMap中,想修改其中存放的值,可以通过使用put方法,将原有的值覆盖。如图是通过覆盖原有键为2的值来修改变量中存放的内容。
1 2 3 4
| `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变量中的内容。(具体效果看后面步骤)。
1 2 3 4 5 6 7 8 9 10
| `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、编写程序测试结果
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33
| `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![]