JAVA中的HashMap用法解析

本文详细解析了Java中的HashMap,包括如何创建Map集合、添加元素、遍历Map以及Map集合的常用方法。通过代码案例进行实战演示。

Map=>HashMap
SortedMap==>TreeMap
1.如何创建Map集合
2.如何添加Map集合
3.如何遍历Map集合
4.Map集合常用的方法

1.如何创建Map集合

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

2.如何添加元素

一次添加一对:
			map.put("小翔",210);

		一次添加另一个集合:
			map.putAll(另一个Map集合对象);

3.如何遍历Map集合

	keySet() : 得到所有主键对象组成的Set集合
                Set <泛型>set=map.keySet()
                for(泛型  e:set){}

	values() : 得到所有值对象组成的Collection集合
                 Collection <泛型>list=map.values()

	entrySet() : 得到所有键值对对象组成的Set集合
     Set<Map.Entry<String,String> >es=  map.entrySet()
       for(Map.Entry<String, String> e:es){
	               String  x=e.getValue();
                   Strring y=e.getKey();
}

4.Map集合常用的方法

如何得到元素个数
		System.out.println(map.size());

	如何根据主键得到对应的值对象
		System.out.println(map.get("小黑"));

	如何删除一个键值对
		map.remove("小翔");
	
	判断是否包含指定的主键对象
		System.out.println(map.containsKey("小黑"));

	判断是否包含指定的值对象
		System.out.println(map.containsValue(720));

代码案例:

import java.util.*;
//一个西瓜切两半 只拿左边那一半
//左边一半全是键 全部唯一且无序(Set)
public class TestMap1{
	public static void main(String[] args){
		Map<String,Integer> map = new HashMap<>();
		map.put("小翔",210);
		map.put("小莉",160);
		map.put("小黑",720);

		//第一种刀法 keySet() : 得到所有主键对象组成的Set集合
		Set<String> ks = map.keySet();
		for(String k : ks){
			System.out.println(k + " = " + map.get(k));
		}
	}
}
import java.util.*;

public class TestMap2{
	public static void main(String[] args){
		Map<String,Integer> map = new HashMap<>();
		map.put("小翔",210);
		map.put("小莉",160);
		map.put("小黑",720);

		//values() : 得到所有值对象组成的Collection集合
		Collection<Integer> vs = map.values();
		for(Integer v : vs){
			System.out.println(v);
		}
	}
}
import java.util.*;

public class TestMap3{
	public static void main(String[] args){
		Map<String,Integer> map = new HashMap<>();
		map.put("小翔",210);
		map.put("小莉",160);
		map.put("小黑",720);

		//entrySet() : 得到所有键值对记录组成的Set集合
		Set<Map.Entry<String,Integer>> es = map.entrySet();
		for(Map.Entry<String,Integer> e : es){
			//e => 键值对的一条记录 => 一个键+一个值 蓝框框
			String k = e.getKey();
			Integer v = e.getValue();
			System.out.println(k+" = "+v);
		}
	}
}
import java.util.*;
public class TestMapLambda{
	public static void main(String[] args){
		Map<String,Integer> map = new HashMap<>();
		map.put("小翔",210);
		map.put("小莉",160);
		map.put("小黑",720);

		//从JDK8.0出现之后 遍历Map或许可以不再使用三种切法~
		//使用lambda表达式更简单的进行Map的遍历

		map.forEach((k,v) -> System.out.println(k + " = " + v));
		map.forEach((x,y) -> System.out.println(x));
		map.forEach((x,y) -> System.out.println(y));
	}
}

  
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值