java中Map集合总结

目录

Map接口导图

一、Map接口概述

Map常用实现类:

二、Map接口常用方法

1、put(K key, V value)

2、get(Object key)

3、size() 

4、clear()

5、isEmpty ()

6、remove(Object key)

7、replace(K key, V value)

 

三、遍历方法

第一种方法:Set names = scores.keySet();

第二种方法:Set> entries = scores.entrySet();


Map接口导图

 

一、Map接口概述

Map集合基于 键(key)/值(value)映射。每个键最多只能映射一个值。键可以是任何引用数据类型的值,不可重复;值可以是任何引用数据类型的值,可以重复;键值对存放无序。

Map常用实现类:

1、HashMap:允许使用 null 值和 null 键;此类不保证映射的顺序;在多线程操作下不安全
2、LinkedHashMap:基于哈希表和链接列表的实现类;具有可预知的迭代顺序(双重链接表的有序性)
3、Properties:Hashtable的一个子类;属性列表中每个键及其对应值都是一个字符串;在多线程操作下安全

 

二、Map接口常用方法

1、put(K key, V value)

将键(key)/值(value)映射存放到Map集合中

Map<String,Integer> scores = new HashMap<String,Integer>();
//<String,Integer>,其中String用于限定key的数据类型,Integer显示value的数据类型,泛型不能使基本数据类型
	scores.put("Jim", 100);//添加数据
	scores.put("Lucy", 60);//Map集合key不允许重复,重复的话以最后一个为主

2、get(Object key)

返回指定键所映射的值,没有该key对应的值则返回 null

int score = scores.get("Jim");//获取Jim的成绩,与List Set 不同
	System.out.println(score);
System.out.println(score.get("jim"));

3、size() 

返回Map集合中数据数量

int size = scores.size();
    System.out.println(size);
System.out.println(score.size());

4、clear()

清空Map集合

scores.clear();//清空集合中的元素
	size = scores.size();
	System.out.println(size);

5、isEmpty ()

判断Map集合中是否有数据,如果没有则返回true,否则返回false

boolean flag = scores.isEmpty();//用于判断集合中是否含有元素;没有则为true,否则为false
	System.out.println(flag);

6、remove(Object key)

删除Map集合中键为key的数据并返回其所对应value值。

score.remove("Jim");

7、replace(K key, V value)

替换对应key的值value

scores.replace("Jim", 0);//替换

 

三、遍历方法

第一种方法:Set<String> names = scores.keySet();

Set<String> names = scores.keySet();//获取集合中所有Key-value的Key组成的Set集合
	

加强遍历:

for(String key : names) {
		int value = scores.get(key);
		System.out.println(value);
	}

迭代器遍历:

Iterator<String> iterator = names.iterator();
        while(iterator.hasNext()) {
            String key = iterator.next();
            int value = scores.get(key);
            System.out.println(iterator.next());
        }

第二种方法:Set<Entry<String,Integer>> entries = scores.entrySet();

Set<Entry<String,Integer>> entries = scores.entrySet();//将HashMap集合中的key-value用Entry对象包含

加强遍历:

for(Entry<String,Integer> entry : entries) {
	String key = entry.getKey();
	int value = entry.getValue();
	System.out.println(value);
}

迭代器遍历:

Iterator<Entry<String,Integer>> it = entries.iterator();
	while(it.hasNext()) {
		Entry<String,Integer> entry = it.next();
		String key = entry.getKey();
		int value = entry.getValue();
		System.out.println(value);
	}
		

 

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值