Java集合————HashMap

HashMap

基本知识

1、HashMap存储的是键值对
2、HashMap集合是无序的
3、HashMap存储的元素是不可重复的(键不可重复)
4、HashMap是一个线程不安全的集合
5、HashMap是通过HashCode来存放数据
6、HashMap的允许存入null键null值

创建集合

HashMap集合是以键值对的形式的集合,在创建时就必须规定键和值的泛型,并且键和值都是使用的引用类型。

HashMap<String,Integer> map = new HashMap<>();

添加集合元素

  1. 逐个添加
map.put("语文", 92);
map.put("数学", 95);
map.put("英语", 100);
map.put("生物", 85);
map.put("化学", 95);
map.put("物理", 85);
//允许存储null值
map.put("政治", null);
map.put(null, 86);

常用方法

//键值相同则替代value,并返回原来的Value
map.put("数学", 110);
//存入键相同的键值对相当于替换
map.replace("语文", 112);
map.replace("物理", 85, 98);//使用新值替换老值
//存储键和值都是null值的元素
map.put(null, null);

//删除
map.remove("生物");//直接通过键来删除映射关系
map.remove("化学", 95);//通过完整的键值对删除映射关系

遍历

  1. EntrySet方式遍历
System.out.println("————————entrySet方式遍历————————");
Set<Entry<String, Integer>> entrySet = map.entrySet();
for (Entry<String, Integer> entry : entrySet) {
	System.out.println(entry.getKey()+"\t"+entry.getValue());
}
  1. KeySet方式遍历
System.out.println("————————KeySet方式遍历————————");
Set<String> keySet = map.keySet();
for (String key : keySet) {
	System.out.println(key+"\t"+map.get(key));
}

测试所写代码

public class HashMapTest {
	public static void main(String[] args) {
		HashMap<String,Integer> map = new HashMap<>();
		//添加元素
		map.put("语文", 92);
		map.put("数学", 95);
		map.put("英语", 100);
		map.put("生物", 85);
		map.put("化学", 95);
		map.put("物理", 85);
		//允许存储null值
		map.put("政治", null);
		map.put(null, 86);
	
		
		//遍历方法一:entrySet
		System.out.println("————————entrySet方式遍历————————");
		Set<Entry<String, Integer>> entrySet = map.entrySet();
		for (Entry<String, Integer> entry : entrySet) {
			System.out.println(entry.getKey()+"\t"+entry.getValue());
		}
		//键值相同则替代value,并返回原来的Value
		map.put("数学", 110);
		//存入键相同的键值对相当于替换
		map.replace("语文", 112);
		map.replace("物理", 85, 98);//使用新值替换老值
		//存储键和值都是null值的元素
		map.put(null, null);
		
		//删除
		map.remove("生物");//直接通过键来删除映射关系
		map.remove("化学", 95);//通过完整的键值对删除映射关系
		//遍历方法二:KeySet
		System.out.println("————————KeySet方式遍历————————");
		Set<String> keySet = map.keySet();
		for (String key : keySet) {
			System.out.println(key+"\t"+map.get(key));
		}
	}
}

提示

以上只是我自己的看法,如有相同纯属意外。如有错误,也请谅解,勿喷!如有收获或疑问,欢迎点赞评论!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值