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

做最好的美食分享网站企业网站怎么制作

做最好的美食分享网站,企业网站怎么制作,化妆品产品的自建网站哟哪些,深圳创业补贴政策2021申请流程一、前言 最近小永哥发现,在开发过程中,经常会遇到需要对list进行分组,就是假如有一个RecordTest对象集合,RecordTest对象都有一个type的属性,需要将这个集合按type属性进行分组,转换为一个以type为key&…

一、前言

        最近小永哥发现,在开发过程中,经常会遇到需要对list进行分组,就是假如有一个RecordTest对象集合,RecordTest对象都有一个type的属性,需要将这个集合按type属性进行分组,转换为一个以type为key,RecordTest集合为value的Map对象,这个功能其实本身并不难,相信以老铁们的实力那还不是轻轻松松嘛,那下面小永哥就先献丑了。

二、代码实现

2.1、常规实现

        实现思路:通过创建一个Map,然后遍历原RecordTest集合,在循环中先获取到type属性,然后判断该type属性在Map中是否存在,如果以存在,就从Map中通过key获取到一个list,然后将当前本次循环所操作的RecordTest对象add到这个list中。如果该type在Map中不存在,那么就新建一个list,将本次循环的RecordTest对象add进去,然后再以type为key,list为value的方式put进Map中,最后我们就获取到了一个以type分好组的Map对象了。

package com.relation;import cn.hutool.core.collection.CollectionUtil;
import cn.hutool.core.map.MapUtil;
import com.alibaba.fastjson2.JSON;
import org.junit.jupiter.api.Test;import java.util.List;
import java.util.Map;/*** @author huhy* @version 1.0* @Description:* @ClassName Date:2025/5/20 21:50*/
public class ListTest {@Testpublic void listGroupTest(){//模拟数据准备List<RecordTest> recordTestList = CollectionUtil.newArrayList();recordTestList.add(new RecordTest("型号A","item-code-A","item"));recordTestList.add(new RecordTest("型号B","item-code-B","item"));recordTestList.add(new RecordTest("文件A","file-code-B","file"));recordTestList.add(new RecordTest("文件B","file-code-B","file"));recordTestList.add(new RecordTest("文件C","file-code-C","file"));recordTestList.add(new RecordTest("图片A","photo-code-A","photo"));recordTestList.add(new RecordTest("视频A","video-code-C","video"));//按type属性进行分组Map<String,List<RecordTest>> recordTestGroupMap = MapUtil.newHashMap();for (RecordTest recordTest : recordTestList) {String type = recordTest.getType();List<RecordTest> recordTests;if(recordTestGroupMap.containsKey(type)){recordTests = recordTestGroupMap.get(type);}else {recordTests = CollectionUtil.newArrayList();recordTestGroupMap.put(type,recordTests);}recordTests.add(recordTest);}//打印System.out.println(JSON.toJSONString(recordTestGroupMap));}class RecordTest{private String name;private String code;private String type;public RecordTest(String name, String code, String type) {this.name = name;this.code = code;this.type = type;}public String getName() {return name;}public void setName(String name) {this.name = name;}public String getCode() {return code;}public void setCode(String code) {this.code = code;}public String getType() {return type;}public void setType(String type) {this.type = type;}}}

        

        打印出的信息不太方便观看,我们找个工具将JSON格式化一下,顺便提一句,有时候我们需要将JSON文本格式化的时候,是不是冷不丁还想不到什么好的方式,特别是开发环境还是内网的时候,没办法上网在线转?其实不管是内网还是外网开发环境,我们作为一个后端开发人员,postman可以说是标配,毕竟还得自测接口嘛,这时候postman就能发挥作用了,postman的post请求在输入参数以后,有一个Beautify的按钮,轻轻一点,JSON文本就格式化好了,非常方便。

        这点小玩意儿虽然顺利实现了,而且实现代码也不孬,但是距离优雅还是差不少,下面我们换种嗨皮的实现方式。

2.2、优雅实现

        

@Testpublic void listGroupTest(){//模拟数据准备List<RecordTest> recordTestList = CollectionUtil.newArrayList();recordTestList.add(new RecordTest("型号A","item-code-A","item"));recordTestList.add(new RecordTest("型号B","item-code-B","item"));recordTestList.add(new RecordTest("文件A","file-code-B","file"));recordTestList.add(new RecordTest("文件B","file-code-B","file"));recordTestList.add(new RecordTest("文件C","file-code-C","file"));recordTestList.add(new RecordTest("图片A","photo-code-A","photo"));recordTestList.add(new RecordTest("视频A","video-code-C","video"));//按type属性进行分组Map<String,List<RecordTest>> recordTestGroupMap = recordTestList.stream().collect(Collectors.groupingBy(RecordTest::getType));//打印System.out.println(JSON.toJSONString(recordTestGroupMap));}

三、结语

        通过jdk1.8特性一行实现分组功能,代码量瞬间减少了10行,虽然现在节省的10行不算什么,但是积少成多,等真正开发的时候,我们可以把学到的东西都尽可能的付诸于实践,这样节省的就不仅仅是10行,可能就是成千上万行,我们的代码也会越来越精炼。

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

相关文章:

  • 网站建设所需域名建站系统有哪些
  • 网站兼容如何制作简易网站
  • 企业网站页头背景图怎样把广告放到百度
  • 花店做网单的网站搜索引擎的作用
  • 知名做网站费用重庆seo代理
  • 设计类专业网站网络运营需要学什么
  • 偷拍小情侣酒店做爰网站深圳关键词优化平台
  • 网络设计网站网络推广是干嘛的
  • 智能网站建设找三好科技seo广告
  • 企业网站虚假宣称iso9001的处罚案例网站推广软件免费版大全
  • 电子商务网站策划方案微商怎么引流被加精准粉
  • 企业网站空间买虚拟主机广州seo推广公司
  • 网页设计 网站建设 哪个好seo百度快速排名
  • wordpress分享到快手seo搜索引擎优化兴盛优选
  • 七台河新闻网济南做seo排名
  • 常德网站设计字答科技八大营销模式有哪几种
  • 打开网站后直接做跳转百度信息流投放在哪些平台
  • 网站链接做app搜索引擎优化seo怎么做
  • 利用php做网站教程发帖百度秒收录网站分享
  • 唐山网站建设策划方案百度关键词优化大
  • 北辰做网站的公司海外网络推广方案
  • 自己建设网站流程国际足联世界排名
  • 宝安做棋牌网站建设哪家好app营销模式有哪些
  • 海口网站建设 找小黄网络凡科建站靠谱吗
  • 68设计网seo工作内容
  • 公众号制作流程网页优化最为重要的内容是
  • 建设一个电影网站怎么做百度官网地址
  • 怎么在电脑上做网站郑州网站建设用户
  • 长沙公积金网站怎么做异动网页设计
  • wordpress建站要钱吗零基础学什么技术好