当前位置: 首页 > wzjs >正文

有哪些网站做电子元器件比较好东莞网站建设推广哪家好

有哪些网站做电子元器件比较好,东莞网站建设推广哪家好,北京注销网站备案,网站建设谁家好在 Java 中&#xff0c;标准的 Map 接口要求 key 必须唯一&#xff0c;如果需要 key 可重复 且保持 插入顺序 的数据结构&#xff0c;可以使用以下方案&#xff1a; 1. 使用 List<Map.Entry<K, V>> 最直接的方式是用链表存储键值对&#xff0c;允许重复 key&…

在 Java 中,标准的 Map 接口要求 key 必须唯一,如果需要 key 可重复 且保持 插入顺序 的数据结构,可以使用以下方案:

1. 使用 List<Map.Entry<K, V>>

最直接的方式是用链表存储键值对,允许重复 key:

import java.util.*;// 创建可重复 key 的链表
List<Map.Entry<String, Integer>> list = new ArrayList<>();// 添加元素(key 可重复)
list.add(new AbstractMap.SimpleEntry<>("key1", 1));
list.add(new AbstractMap.SimpleEntry<>("key1", 2)); // 重复 key
list.add(new AbstractMap.SimpleEntry<>("key2", 3));// 遍历所有元素(保持插入顺序)
for (Map.Entry<String, Integer> entry : list) {System.out.println(entry.getKey() + " : " + entry.getValue());
}// 查找特定 key 的所有值
list.stream().filter(e -> "key1".equals(e.getKey())).forEach(e -> System.out.println("key1 值: " + e.getValue()));

2. 使用 Guava 的 Multimap

Google Guava 库提供的 Multimap 可以将多个值关联到同一个 key:

import com.google.common.collect.ArrayListMultimap;
import com.google.common.collect.Multimap;// 创建可重复 key 的 Multimap(保持插入顺序)
Multimap<String, Integer> multimap = ArrayListMultimap.create();// 添加元素(key 可重复)
multimap.put("key1", 1);
multimap.put("key1", 2); // 重复 key
multimap.put("key2", 3);// 获取 key 对应的所有值(返回 Collection)
Collection<Integer> values = multimap.get("key1"); // 返回 [1, 2]// 遍历所有键值对
multimap.entries().forEach(entry -> System.out.println(entry.getKey() + " : " + entry.getValue())
);

3. 自定义 MultiMap

如果不想引入外部依赖,可以自定义一个包装类:

import java.util.*;public class MultiMap<K, V> {private final List<Map.Entry<K, V>> entries = new ArrayList<>();// 添加键值对(允许重复 key)public void put(K key, V value) {entries.add(new AbstractMap.SimpleEntry<>(key, value));}// 获取 key 对应的所有值public List<V> get(K key) {List<V> result = new ArrayList<>();for (Map.Entry<K, V> entry : entries) {if (Objects.equals(key, entry.getKey())) {result.add(entry.getValue());}}return result;}// 遍历所有键值对public void forEach(BiConsumer<K, V> action) {entries.forEach(entry -> action.accept(entry.getKey(), entry.getValue()));}// 其他方法(size、isEmpty 等)...
}// 使用示例
MultiMap<String, Integer> multiMap = new MultiMap<>();
multiMap.put("key1", 1);
multiMap.put("key1", 2);
multiMap.forEach((k, v) -> System.out.println(k + " : " + v));

选择建议

  • 简单场景:直接使用 List<Map.Entry<K, V>>
  • 需要丰富 API:引入 Guava 的 Multimap
  • 不想依赖外部库:自定义 MultiMap

无论哪种方案,都能实现 key 可重复保持插入顺序 的需求。

http://www.dtcms.com/wzjs/10001.html

相关文章:

  • 大连装修网站推广百度快照是干什么的
  • 可以做哪些有趣的网站百度问答平台
  • 查看网站 vps营销策略是什么
  • wordpress做淘客网站网站推广和网络推广
  • 如何再腾讯云服务器做网站google store
  • 网络推广文案策划书引擎优化是什么意思
  • 在线网站建设工程标准seo整站优化方案案例
  • 做网站开发需要什么郑州网站seo推广
  • 学习做网站只学过cvivo应用商店
  • 米拓网站建设步骤自己怎么优化关键词
  • 网站建设人员招聘要求百度学术论文官网入口
  • 安踏网站建设策划方案新闻头条 今天
  • 做影集的网站或软件网络销售公司经营范围
  • 网站做两个月百度没有录取软文是什么东西
  • 云南建设监理协会官方网站seo专业技术培训
  • 留号码的广告网站不需要验证码seo课程培训课程
  • 做棋牌网站赚钱吗网络营销心得体会800字
  • 小程序网站开发湖北网站建设制作
  • 泉州有哪些公司是做网站天津百度快速排名优化
  • 一个人做公司管理网站营销方案100个软文
  • 个人主页网页介绍平台优化是指什么
  • 试玩网站开发网络公司
  • 建设局网站更改法人所需材料微信软文范例
  • 网站没有备案可以访问吗百度高级检索入口
  • 移动端是什么意思seo优化方案报价
  • 苏州住房建设局网站首页口碑营销名词解释
  • 软件外包项目网seo教程下载
  • 昆明电商网站建设沈阳网络关键词排名
  • 800元做网站全网推广网站
  • 捡个将军做男友啥网站能看怎么免费搭建自己的网站