Java中HashMap的常用操作
HashMap<Integer, Integer> hashMap = new HashMap<>();
hashMap.put(5, 2);
hashMap.put(9, 2);
hashMap.put(8, 1);
hashMap.put(7, 3);
hashMap.put(16, 1);
hashMap.put(10, 2);
hashMap.put(6, 2);
//其实下面两个键值对是没有存的
hashMap.put(5, 2);
hashMap.put(5, 3);
当在hashmap中put的key在之前已经存过,则不会重复存储,会覆盖之前key对应的value
1.containsKey(Object key)方法,返回值为boolean,用于判断当前hashmap中是否包含key对应的key-value
2.containsValue(Object value)方法,返回值为boolean,用于判断当前hashmap中是否包含value对应的key-value
3.遍历hashmap的两种方式:
(1)利用haspmap.entrySet().iterator():利用迭代器,从Entry中取出键、取出值,推荐使用这种方式进行遍历,效率较高
Iterator<Entry<Integer, Integer>> iterator = hashMap.entrySet().iterator();
while (iterator.hasNext()) {
Entry<Integer, Integer> entry = iterator.next();
Integer key = entry.getKey();
Integer value = entry.getValue();
System.out.print(key + "--->" + value);
System.out.println();
}
(2)利用hashmap.keySet().iterator():利用键的迭代器,每次取出一个键,再根据键,从hashmap中取出值,这种方式的效率不高,不推荐使用完整源码如下:
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map.Entry;
public class HashMapTest {
public static void main(String args[]) {
HashMap<String, String> hm = new HashMap<String, String>();
HashMap<Integer, String> hm1 = new HashMap<Integer, String>();
hm.put("a1", "lhj");
hm.put("a2", "ldj");
hm.put("a3", "zyl");
hm.put("a4", "wpang");
hm1.put(1, "cjh");
hm1.put(2, "czy");
/*
* 遍历HashMap很重要的一个方法 , 利用haspmap.entrySet().iterator():
* 利用迭代器,从Entry中取出键、取出值,推荐使用这种方式进行遍历,效率较高
*/
Iterator<Entry<String, String>> iterator = hm.entrySet().iterator();
while (iterator.hasNext()) {
Entry<String, String> entry = iterator.next();
String key = entry.getKey();
String value = entry.getValue();
System.out.println(key + " " + value);
}
/*
* 利用hashmap.keySet().iterator():利用键的迭代器,每次取出一个键,
* 再根据键,从hashmap中取出值,这种方式的效率不高,不推荐使用
*/
Iterator<String> it = hm.keySet().iterator();
while(it.hasNext()) {
String a = it.next();
System.out.print(a+" ");
System.out.print(hm.get(a));
System.out.println();
}
Iterator<Integer> it1 = hm1.keySet().iterator();
while(it1.hasNext()) {
int a = it1.next();
System.out.print(a+" ");
System.out.print(hm1.get(a));
System.out.println();
}
System.out.println("通过键值来获取value:"+hm.get("a1"));
System.out.println("判断是否含有此key:"+hm.containsKey("a5"));
System.out.println("长度为:"+hm.size());
System.out.println("map是否为null:"+hm.isEmpty());
System.out.println("移除指定的key:"+hm.remove("a1"));
hm.clear();//清空HashMap
}
}
参考博文:https://blog.csdn.net/u013398759/article/details/77679632版权声明:本文为weixin_37766296原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。