您的位置:首页 > 教育 > 锐评 > 网站设计流程详细步骤_公司网站建设制作难么_开网站流程_上海百度推广平台

网站设计流程详细步骤_公司网站建设制作难么_开网站流程_上海百度推广平台

2025/5/9 18:53:34 来源:https://blog.csdn.net/qq_17033579/article/details/144777775  浏览:    关键词:网站设计流程详细步骤_公司网站建设制作难么_开网站流程_上海百度推广平台
网站设计流程详细步骤_公司网站建设制作难么_开网站流程_上海百度推广平台

一、适用场景:相对Map排序,想获取其中最大或最小值。

1、获取map集合里,获取 max(value)对应的key

1)、方式1
 @Testpublic void MapInnerMaxValue() {HashMap<String, Integer> hashMap = new HashMap<>();hashMap.put("a", 10);hashMap.put("s", 36);hashMap.put("c", 88);hashMap.put("e", 27);hashMap.put("6", 100);Optional<String> maxValueKeyOptional = hashMap.entrySet().stream().max(Map.Entry.comparingByValue()).map(Map.Entry::getKey);maxValueKeyOptional.ifPresent(key -> System.out.println("最大value对应的key是: " + key));}

输出

最大value对应的key是: 6
2)、方式二:通过TreeMap获取

单线程情况下,用TreeMap时间复杂度O(logn),性能较好,推荐。

 @Testpublic void MapInnerMaxValue2() {Comparator<Integer> c=Comparator.comparingInt(Integer::intValue);TreeMap<Integer,String> treeMap=  new TreeMap (c);treeMap.put( 10,"i:j");treeMap.put( 36,"s");treeMap.put(88,"c");treeMap.put( 27,"e");treeMap.put( 100,"i:j");log.info("max(value)={},key={}", treeMap.lastEntry().getKey(),treeMap.lastEntry().getValue());}输出:max(value)=100,key=i:j
3)、方式三:通过TreeMap获取

想保证并发安全,还要保持较好性能,ConcurrentSkipListMap就是很不错的选择,时间复杂度O(logn) ,推荐使用。

 @Testpublic void MapInnerMaxValue3() {Comparator<Integer> c=Comparator.comparingInt(Integer::intValue);ConcurrentSkipListMap<Integer,String> skipMap=  new ConcurrentSkipListMap (c);skipMap.put( 10,"i:j");skipMap.put( 36,"s");skipMap.put(88,"c");skipMap.put( 27,"e");skipMap.put( 100,"i:j");log.info("max(value)={},key={}", skipMap.lastEntry().getKey(),skipMap.lastEntry().getValue());}输出:
max(value)=100,key=i:j

待追加…

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com