Java中HashMap的常用操作

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版权协议,转载请附上原文出处链接和本声明。