Java Map的常用实现类HashMap及主要方法的使用,及Map的遍历

Java Map的常用实现类HashMap及主要方法的使用

  1. Map接口的常用实现类:HashMap、TreeMap和Properties。

1.Map实现类之一:HashMap(主要实现类)

  1. HashMap是 Map 接口使用频率最高的实现类。
  2. 允许使用null键和null值,与HashSet一样,不保证映射的顺序。
  3. HashMap 判断两个 key 相等的标准是:两个 key 通过 equals() 方法返回 true,hashCode 值也相等。
  4. HashMap 判断两个 value相等的标准是:两个 value 通过 equals() 方法返回 true。

2. map的常用方法

  1. 常规操作的方法
添加、删除操作:
Object put(Object key,Object value):获取指定key的value值.若无此key,则返回null
Object remove(Object key):添加一个map
void putAll(Map t)
void clear():清空
元素查询的操作:
Object get(Object key)
boolean containsKey(Object key):判断当前map是否含有参数key
boolean containsValue(Object value):判断当前map是否含有参数value
int size():返回集合的长度
boolean isEmpty():判断是否为空
boolean equals(Object obj):比较

  1. demo
@Test
public void test() {
	Map map = new HashMap();
	map.put("AA", 212);
	map.put("BB", 456);
	map.put(123, "CC");
	map.put(null, null);
	map.put(new Person("DD",23), 889);
	map.put(new Person("DD",23), 87);
	System.out.println(map.size());
	System.out.println(map);
	map.remove("BB");
	System.out.println(map);
	map.get(123);//CC
}

3.Map的遍历

元视图操作的方法:
Set keySet():返回一个一个装Key的Set
Collection values():返回一个一个装value的Collection
Set entrySet():返回一个Entry的Set
  1. demo
	@Test
	public void test2() {
		Map map = new HashMap();
		map.put("AA", 212);
		map.put("BB", 456);
		map.put(123, "CC");
		map.put(null, null);
		map.put(new Person("DD",23), 889);
		map.put(new Person("DD",23), 87);
		
		//1.遍历Key集
		Set set = map.keySet();
		for(Object obj:set) {
			System.out.println(obj);
		}
		//2.遍历value集
		Collection values  = map.values();
		Iterator i = values.iterator();
		while(i.hasNext()) {
			System.out.println(i.next());
		}
		//3.如何遍历key-value对
		Set set1 = map.keySet();
		for(Object obj:set1) {
			System.out.println(obj+"------->"+map.get(obj));
		}
		//4.如何遍历key-value对
		Set entryset = map.entrySet();
		for(Object obj:entryset) {
			Map.Entry entry = (Map.Entry)obj;
			System.out.println(entry.getKey() +"==="+ entry.getValue());
			System.out.println(entry);
		}
		
	}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值