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

自己怎么1做网站常用的搜索引擎有哪些?

自己怎么1做网站,常用的搜索引擎有哪些?,国内做外单的网站有哪些资料,做网站前台后台是怎么连接的Java 8 最大的特性无异于更多地面向函数,引入了 lambda可以更好地进行函数式编程 merge是什么? merge() 可以这么理解:它将新的值赋值到 key (如果不存在)或更新给定的key 值对应的 value merge源码参考 default V merge(K key, …

Java 8 最大的特性无异于更多地面向函数,引入了 lambda可以更好地进行函数式编程
merge是什么?
merge() 可以这么理解:它将新的值赋值到 key (如果不存在)或更新给定的key 值对应的 value

merge源码参考

default V merge(K key, V value, BiFunction<? super V, ? super V, ? extends V> remappingFunction) {Objects.requireNonNull(remappingFunction);Objects.requireNonNull(value);V oldValue = this.get(key);V newValue = oldValue == null ? value : remappingFunction.apply(oldValue, value);if (newValue == null) {this.remove(key);} else {this.put(key, newValue);}return newValue;
}
//该方法接收三个参数,一个 key 值,一个 value,
//一个 remappingFunction ,如果给定的key不存在,它就变成了 put(key, value) 。
//但是,如果 key 已经存在一些值,
//我们  remappingFunction 可以选择合并的方式,
//然后将合并得到的 newValue 赋值给原先的 key。

merge() 怎么用?
假设有一个学生成绩对象的列表,对象包含学生姓名、科目、科目分数三个属性,要求求得每个学生的总成绩。加入列表如下:

private List<StudentScore> buildATestList() {List<StudentScore> studentScoreList = new ArrayList<>();StudentScore studentScore1 = new StudentScore() {{setStuName("张三");setSubject("语文");setScore(70);}};StudentScore studentScore2 = new StudentScore() {{setStuName("张三");setSubject("数学");setScore(80);}};StudentScore studentScore3 = new StudentScore() {{setStuName("张三");setSubject("英语");setScore(65);}};StudentScore studentScore4 = new StudentScore() {{setStuName("李四");setSubject("语文");setScore(68);}};StudentScore studentScore5 = new StudentScore() {{setStuName("李四");setSubject("数学");setScore(70);}};StudentScore studentScore6 = new StudentScore() {{setStuName("李四");setSubject("英语");setScore(90);}};StudentScore studentScore7 = new StudentScore() {{setStuName("王五");setSubject("语文");setScore(80);}};StudentScore studentScore8 = new StudentScore() {{setStuName("王五");setSubject("数学");setScore(85);}};StudentScore studentScore9 = new StudentScore() {{setStuName("王五");setSubject("英语");setScore(70);}};studentScoreList.add(studentScore1);studentScoreList.add(studentScore2);studentScoreList.add(studentScore3);studentScoreList.add(studentScore4);studentScoreList.add(studentScore5);studentScoreList.add(studentScore6);studentScoreList.add(studentScore7);studentScoreList.add(studentScore8);studentScoreList.add(studentScore9);return studentScoreList;
}

常规做法

ObjectMapper objectMapper = new ObjectMapper();
List<StudentScore> studentScoreList = buildATestList();Map<String, Integer> studentScoreMap = new HashMap<>();
studentScoreList.forEach(studentScore -> {if (studentScoreMap.containsKey(studentScore.getStuName())) {studentScoreMap.put(studentScore.getStuName(), studentScoreMap.get(studentScore.getStuName()) + studentScore.getScore());} else {studentScoreMap.put(studentScore.getStuName(), studentScore.getScore());}
});System.out.println(objectMapper.writeValueAsString(studentScoreMap));

结果如下

 {"李四":228,"张三":215,"王五":235}

merge() 实现

Map<String, Integer> studentScoreMap2 = new HashMap<>();
studentScoreList.forEach(studentScore -> studentScoreMap2.merge(studentScore.getStuName(),studentScore.getScore(),Integer::sum));System.out.println(objectMapper.writeValueAsString(studentScoreMap2));

结果如下

{"李四":228,"张三":215,"王五":235}

使用场景

比如分组求和这类的操作,虽然 stream 中有相关 groupingBy() 方法,但如果你想在循环中做一些其他操作的时候,merge() 还是一个挺不错的选择的。

http://www.lbrq.cn/news/2502649.html

相关文章:

  • 延吉哪家网站建设公司好google store
  • 百度云搜索引擎入口官方网站建设优化
  • wordpress网站阿里云备案号人民日报最新新闻
  • 做网站和软件的团队网络营销的5种营销方式
  • 专业做互联网招聘的网站有哪些seo提升排名
  • 网站建设首页包括什么软件新闻式软文范例
  • icp备案查询怎么查询谷歌搜索优化
  • 购物商城网站建设南宁百度seo建议
  • 国内优秀的网站设计网络营销怎么做
  • 苏州城乡住房建设局网站优化公司哪家好
  • 网站建设公司简介模板建网站费用
  • 衡水网站建设谷歌chrome浏览器
  • 潍坊高新建设局网站网站设计方案模板
  • 茶企业网站建设模板摘抄一篇新闻
  • 蒙文网站建设的意义网站seo置顶
  • it公司做网站用什么软件seo免费工具
  • 东莞品牌网站建设报价企业文化的重要性
  • 开发做游戏的网站谷歌搜索入口手机版
  • 房屋租赁网站开发模版长沙seo霜天博客
  • 重庆有没有做网站的网络推广工具有哪些
  • 贵州公司网站建设比选公示2022最新小学生新闻
  • 太原建设设计公司网站企业建站公司热线电话
  • 网站优化排名易下拉用法网站建设黄页在线免费
  • 邢台网站建设哪家公司好邯郸seo优化公司
  • 网站建设怎么报价网站优化公司大家好
  • 做外贸的网站要多少钱线下推广方法及策略
  • 快速优化网站建设搜索引擎排名优化方案
  • 无法连接网站互联网营销师培训教程
  • 做衬衣的网站今日国际新闻头条15条
  • 如何在门户网站做推广方案福州关键词排名软件
  • 数据结构(动态数组)
  • 图像轮廓与凸包
  • mybatis-plus实体类主键生成策略
  • Photo Studio PRO 安卓版:专业级照片编辑的移动解决方案
  • 【机器学习深度学习】NLP评价指标 BLEU 和 ROUGE
  • Agent大模型大厂面试题及讲解答案