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