JAVA学习心得——HashMap常用方法总结

本文总结了HashMap的常用操作,包括添加元素、获取元素数量、获取键值、清空集合、判断是否为空、获取值的集合、键的集合、移除元素以及使用迭代器遍历。还详细介绍了四种遍历HashMap的不同方式。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

我们知道 Map—>Hashtable,AbstractMap:Hashtable——Properties AbstractMap——TreeMap HashMap,
Test {Map集合基于 键(key)/值(value)映射。每个键最多只能映射一个值。键可以是任何引用数据类型的值,不可重复;值可以是任何引用数据类型的值,可以重复
今天来总结HashMap的常用方法。
首先我们来定义一个HashMap集合:

public class Test{
	public static void main(String [ ] args){
		HashMap<String,Integer> testmap =new HashMap<>();//在JDK7.0以后new HashMap<>(),中的<>,可以不添加key和value。
	}
}

值得一提的是泛型不能是基本数据类型,只能是其对应的包装类
下面提供基本数据类型以及其对应的包装类:
byte—Byte
short—Short
int—integer
float—Float
double—Double
boolean—Boolean
char—Character


下面我们开始学习方法:

1、.get();//用于向Hash Map集合中添加元素。

public class Test{	
	public static void main(String [ ] args){
		HashMap<String,Integer> testmap =new HashMap<>();
		testmap.put("Tom",999);
		testmap.put("Jim",888);
		System.out.println(testmap);//用于将这个集合输出。
	}
}

输出结果如下:
在这里插入图片描述


2、.size();//用于“测量”集合中有多少个元素。
例程:

public class Test{ 	
	public static void main(String [ ] args){
		HashMap<String,Integer> testmap =new HashMap<>();
		testmap.put("Tom",999);
		testmap.put("Jim",888);
		System.out.println(testmap.size());
	}
}

输出结果为:
在这里插入图片描述


3、.get(key);//用于获取对应key值的value值。

public class Test{  
	public static void main(String [ ] args){
		HashMap<String,Integer> testmap =new HashMap<>();
		testmap.put("Tom",999);
		testmap.put("Jim",888);
		System.out.println(testmap.get(“Tom”));
	}
}

输出结果为:
在这里插入图片描述


4、.clear();//清除集合中的元素。
5、.isEmpty();//判断集合中是否为空。输出类型是boolean。

public class Test{  
	public static void main(String [ ] args){
		HashMap<String,Integer> testmap =new HashMap<>();
		testmap.put("Tom",999);
		testmap.put("Jim",888);
		teatmap.clear();
		System.out.println(testmap.isEmpty());
	}
}

输出结果:
true


6、.values();//用于输出HashMap集合中元素的values,并重新创建一个集合
7、.key();//用于输出HashMap集合中元素的key,并重新创建一个集合。

public class Test{  
	public static void main(String [ ] args){
		HashMap<String,Integer> testmap =new HashMap<>();
		testmap.put("Tom",999);
		testmap.put("Jim",888);
		System.out.println(testmap.keySet());
		System.out.println(testmap.values());
	}
}

输出结果:
在这里插入图片描述

8、.remove(key);//用于去除集合中某个元素,并返回对应的values。

public class Test{  
	public static void main(String [ ] args){
		HashMap<String,Integer> testmap =new HashMap<>();
		testmap.put("Tom",999);
		testmap.put("Jim",888);
		testmap.remove("Tom");
		System.out.println(testmap);//用于检查Tom确实被删除了。
	}
}

输出结果:
在这里插入图片描述


9、iterator();//用于将集合中的元素转存在iterator中。

此方法可以用于将遍历集合。

public class Test{  
	public static void main(String [ ] args){
		HashMap<String,Integer> testmap =new HashMap<>();
		testmap.put("Tom",999);
		testmap.put("Jim",888);
		Set<String> testset =testmap.keySet();//将map的所有key放在一个Set集合中。
		Iterator<String> iterator =testset.iterator();//这时我们将Set集合的元素转存在Iterator中
		while(iterator.hasNext()) {//如果iterator”指针“下方还有元素,就会向下移动一位。
			String key =iterator.next() ;//将key输出,然后方便下面调用。
			System.out.println(key+" "+testmap.get(key));
		}

输出结果如下:
在这里插入图片描述
除此之外还有方法将集合遍历。
①、首先将map所有key放在一个Set集合中,然后用for each 加强循环输出集合。

		Set<String> set =map.keySet();
		for (String key : set) {
			System.out.println(set+" "+map.get(key));
		}

在这里插入图片描述

②、.entry<>//entry类可以将map中的元素以对的形式存放,然后定义为一个Set集合,之后再通过for加强循环的形式输出。

		Set<Entry<String, Integer>> set = testmap.entrySet();//entry将map中对象以对返回,
		for (Entry<String, Integer> entry : set) {
			System.out.println(entry.getKey()+":"+entry.getValue());
		}

在这里插入图片描述
③、将set集合中Entry<String, Integer>转存到Iterator中,然后通过.getKey();、.getValue();然后遍历输出。

			Set<Entry<String,Integer>> set =testmap.entrySet();
			Iterator<Entry<String, Integer>> iterator = set.iterator();/
			while(iterator.hasNext()) {
				Entry<String, Integer> entry = iterator.next();
				System.out.println(entry.getKey()+":"+entry.getValue());
			}

在这里插入图片描述
以上几种遍历map集合的方法,先找到map中的Key,或者通过entry<>直接将map中元素以对的形式转存在Iterator中,然后进行for加强循环,或者while循环。所以2*2就等于四种方法。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值