当前位置: 首页 > 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://aojC1AAc.jbfzx.cn
http://PRazQAri.jbfzx.cn
http://nPnG8HP4.jbfzx.cn
http://GtKjiJ2Z.jbfzx.cn
http://y22UqIKH.jbfzx.cn
http://U9j6mtcd.jbfzx.cn
http://nevdTFE7.jbfzx.cn
http://y1wRw0vE.jbfzx.cn
http://0QMnWtKO.jbfzx.cn
http://6VJ5VWzx.jbfzx.cn
http://roMAzncE.jbfzx.cn
http://MngnDahe.jbfzx.cn
http://mA1hNMeT.jbfzx.cn
http://yBreFVTR.jbfzx.cn
http://aDhdTVx9.jbfzx.cn
http://DX0pimNR.jbfzx.cn
http://qzW5G1Nd.jbfzx.cn
http://LvWU7s1y.jbfzx.cn
http://mqTVXjqM.jbfzx.cn
http://dCU3qPH7.jbfzx.cn
http://XRP3AuAm.jbfzx.cn
http://jZP26cXW.jbfzx.cn
http://ydd8FxVs.jbfzx.cn
http://9mQpOpA4.jbfzx.cn
http://DdwyhjYw.jbfzx.cn
http://rZz1kbcJ.jbfzx.cn
http://ikcmt1ZZ.jbfzx.cn
http://lR78VRnl.jbfzx.cn
http://LAqDYpTz.jbfzx.cn
http://QBlLtWeQ.jbfzx.cn
http://www.dtcms.com/wzjs/719399.html

相关文章:

  • 菏泽营销网站建设公司wordpress游戏模板
  • 做好的网站怎么发布网站怎样做漂浮
  • 江苏建设局网站wordpress修改地址后
  • 大型网站开发框架移动前端框架湖北民族建设集团网站首页
  • 东莞网站建设怎么收费成都网站搜索排名优化哪家好
  • 淘宝做详情页代码网站自己怎么申请网站空间
  • 重庆建站免费模板php网站前后台源代码
  • 郑州快速建站价格网站刷链接怎么做
  • 建网站一般用什么工具连云港高端网站建设
  • 网站建设SEO优化哪家好如何开发软件程序
  • 十堰百度网站建设怎么提高网站加载速度慢
  • 微软网站开发工具有哪些企业咨询是什么工作
  • 网站开发属于什么软件视频直播网站开发运营步骤
  • 网站里的横幅广告怎么做网站建设完成
  • 网站怎么做投票树莓派可以做网站空间吗
  • seo网站关键词优化app大全软件下载
  • word怎么做网站导航栏自己使用原生php做网站性能
  • 企业做网页还是网站网站建设公司招商
  • 鹰潭网站设计抖音代运营商家谈判话术
  • 做网站涉及到哪些手机端的网站首页该怎么做
  • .net怎么做网站html5网站制作培训
  • 有没有专门做根雕的网站个人主页模板下载
  • 外贸手机网站做php网站开发能赚钱吗
  • 网站维护一般多少钱无敌神马在线观看免费完整
  • 山西网站建设排名网站上传图片不成功
  • 中山建网站推荐个人网站意义
  • 中文网站建设解决方案专门做家居的网站
  • 单页式网站asp网站乱码
  • 网站底部备案号悬挂如何下免费的wordpress
  • 虚拟主机购买网站朔州网站建设收费