Multimap介绍+遍历使用+方法及说明

本文深入探讨了Multimap数据结构,一种允许一个关键字对应多个值的高效存储方式。相较于传统Map仅能为单一键分配一个值,Multimap支持键值对的多重映射,尤其适用于嵌套List场景,提升系统性能。文章还介绍了Multimap的遍历方法及其核心功能。

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

先介绍:Multimap 顾名思义通过名字可想,Multi就是很多的意思,允许我们一个关键字对应多个value,所有说Multimap允许重复的键值插入容器。(一般使用map,只能保证一个key对应一个value)

一:如果在开发中遇到List存在嵌套的情况,通常的实现方式是使用两个for循环嵌套,这样使得执行步骤增加,大大降低了系统的性能。这个时候强烈推荐使用Multimap数据结构!

二:遍历:可以使用遍历器进行遍历,也可以获取其Key值进行遍历

// 使用遍历器遍历:
Iterator iter = map.entries().iterator();
while(iter.hasNext())
{
      Map.Entry<Integer, Integer> entry = (Map.Entry<Integer, Integer>)iter.next();
      System.out.println(String.format("%d:%d", entry.getKey(),entry.getValue()));
}
结果:
1:2
1:3
2:4
2:6
21:6
6:7
11:2
12:3
//使用Key值遍历,key值可以得到一个全部键值的MultiSet或者是一个没有重复键值的KeySet,这边使用没有重复键值的做例子
Set<Integer> keys = map.keySet();
for(int key:keys)
{
    String result = String.format("%d:", key);
    Set<Integer> values = map.get(key);
    for(int value:values)
    {
    	   result= result+" "+value;
    }
    System.out.println(result);
}
结果:
1: 2 3
2: 4 6
21: 6
6: 7
11: 2
12: 3

三:方法及说明:

更多用法参见Class Multimaps

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值