-
2020-06-29 17:40:01
需求
将一个查询到的集合对象的结果集收集放在另外一个集合对象中去
//查询到的集合对象 List<IwmInfluenceWorkEntity> influences = iwmInfluenceWorkService.queryAll(params); //封装过后的集合对象 List<InfluenceTypeDto> collect = influences.stream().map(a -> new InfluenceTypeDto(a.getWorkType(), a.getLicense(), null)).collect(Collectors.toList()); //遍历输出封装过后的集合对象 collect.forEach(e -> { System.out.println("作业编号" + e.getLicenseCount() + "作业类型" + e.getWorkType()); });
更多相关内容 -
Postman传递对象参数(其中有集合对象)
2021-07-23 14:12:35可以考虑将参数对象写成json字符串的样式,然后将将字符串转换成json对象 实体类: import lombok.AllArgsConstructor; import lombok.Data; import lombok.NoArgsConstructor; import org.apache.ibatis....项目场景:
postman通常需要传递各式各样的参数,这样的话,进行写参数比较头疼,不知怎么进行传参。
解决方案:
可以考虑将参数对象写成json字符串的样式,然后将将字符串转换成json对象实体类:
import lombok.AllArgsConstructor; import lombok.Data; import lombok.NoArgsConstructor; import org.apache.ibatis.annotations.Param; import org.hibernate.validator.constraints.Length; import org.springframework.validation.annotation.Validated; import javax.persistence.Column; import javax.persistence.Id; import javax.persistence.Table; import javax.persistence.Transient; import javax.validation.Valid; import javax.validation.constraints.Digits; import javax.validation.constraints.NotNull; import java.io.Serializable; import java.math.BigDecimal; import java.util.Date; import java.util.List; @Data @AllArgsConstructor @NoArgsConstructor @Table(name = "ssm_funds_main") public class FunsCjyModel implements Serializable { private static final long serialVersionUID = 1L; /** * 主表id */ @Id // @NotNull(message = "id不能为空") @Length(max = 32,message = "主表id长度不能超过32位") @Column(name = "BI_RS_ID") private String biRsId; /** * 所属培训班 */ @NotNull(message = "所属培训班不能为空") @Length(max = 32,message = "培训班长度不能超过32位") @Column(name = "TERM_NAME") private String termName; /** * 发票购买方 */ @NotNull(message = "发票购买方不能为空") @Length(max = 32,message = "发票购买方长度不能超过32位") @Column(name = "BUYER") private String buyer; /** * 发票销售方 */ @NotNull(message = "发票销售方不能为空") @Length(max = 32,message = "发票销售方长度不能超过32位") @Column(name = "SALLER") private String saller; /** * 发票编号 */ @Length(max = 32,message = "发票编号长度不能超过32位") private String billNo; /** * 开票日期 */ private Date billDate; /** * 票面金额 */ @Digits(integer = 8,fraction = 2,message = "票面金额整数上限为8位,小数点上限为2位") private BigDecimal billSum; /** * 复印件路径 */ @Length(max = 100,message = "复印件路径长度不能超过100位") private String picPath; /** * 文件扩展名称 */ @Length(max = 10,message = "文件扩展名称长度不能超过100位") private String picFileExt; /** * 创建人 */ @Length(max = 32,message = "创建人id长度不能超过32位") private String createId; /** * 创建时间 */ private Date createDate; /** * 修改人 */ @Length(max = 32,message = "修改人id长度不能超过32位") private String modifyId; /** * 修改时间 */ private Date modifyDate; /** * 从表集合 */ @Transient @Valid private List<DetailCjyModel> list; }
参数样式:
{ "biRsId":"", "termName":"实训", "buyer":"学生", "saller":"学校", "billNo":"20210722", "billSum":"900.00", "createId":"CJY", "list":[ { "rsId":"", "itemName":"语文", "itemSpec":"私人", "itemUnit":"元", "qty":"10.00", "price":"30.00", "subSum":"300.00", "taxPercent":"0.1", "taxAtm":"30.0" }, { "rsId":"", "itemName":"数学", "itemSpec":"集体", "itemUnit":"元", "qty":"20.00", "price":"30.00", "subSum":"600.00", "taxPercent":"0.1", "taxAtm":"60.0" } ] }
控制层代码:
@RequestMapping("/insertFunsDetailTwo") @ResponseBody public ResultMap insertFunsDetailTwo(String dataStr,@RequestParam (value = "file",required = false) MultipartFile file){ JSONObject dataStrMap = JSONObject.parseObject(dataStr); FunsCjyModel funsCjyModel = new FunsCjyModel(); funsCjyModel.setTermName((String)dataStrMap.get("termName")); funsCjyModel.setBuyer((String)dataStrMap.get("buyer")); funsCjyModel.setSaller((String)dataStrMap.get("saller")); funsCjyModel.setBillNo((String)dataStrMap.get("billNo")); funsCjyModel.setBillSum(funsModelCjyServiceImpl.stringBigeDecimal((String)dataStrMap.get("billSum"))); funsCjyModel.setCreateId((String)dataStrMap.get("createId")); String list1 = JSON.toJSONString(dataStrMap.get("list")); List<DetailCjyModel> list = JSONArray.parseArray(list1,DetailCjyModel.class); funsCjyModel.setList(list); return funsModelCjyService.insertFunsAndDetail(funsCjyModel,file); }
这样的话可以用postman的form-data传文件和集合对象的参数
-
java判断集合对象是否为空
2021-03-14 13:57:05Java 集合类中的 List.isEmpty() 方法用于判断集合对象是否为空,如果为空,则返回 true,否则返回 false。语法:isEmpty()应用:本示例使用 List 接口的实现类 ArrayList 初始化一个列表对象 list,并向该列表中...Java 集合类中的 List.isEmpty() 方法用于判断集合对象是否为空,如果为空,则返回 true,否则返回 false。
语法:isEmpty()
应用:
本示例使用 List 接口的实现类 ArrayList 初始化一个列表对象 list,并向该列表中添加 4 个元素,然后调用 isEmpty 方法判断 list 对象是否为空,并输出判断结果,再执行 clear 方法从列表中移除所有元素,最后再次执行 isEmpty 方法判断 list 对象是否为空,并输出判断结果。
代码如下:public static void main(String[] args){
Listlist = new ArrayList();
list.add("保护环境"); //向列表中添加数据
list.add("从我做起"); //向列表中添加数据
list.add("爱护地球"); //向列表中添加数据
list.add("从我做起"); //向列表中添加数据
boolean empty = list.isEmpty();
if(empty){
System.out.println("该列表为空");
}else{
System.out.println("该列表不为空");
}
list.clear(); //从列表中移除所有元素
System.out.println("执行clear方法后");
empty = list.isEmpty();
if(empty){
System.out.println("该列表为空");
}else{
System.out.println("该列表不为空");
}
}
运行结果如下:该列表不为空
执行clear方法后
该列表为空
-
多线程安全集合对象
2021-11-30 17:08:13从.Net 4.0框架开始,在System.Collections.Concurrent命名空间下,增加了用于多线程协同的并发集合类(线程安全集合)。 ConcurrentDictionary<TKey,TValue> 提供可供多线程同时访问的键值对的线程安全集合...从.Net 4.0框架开始,在System.Collections.Concurrent命名空间下,增加了用于多线程协同的并发集合类(线程安全集合)。
一、相关的类
类名 说明 BlockingCollection 为实现 IProducerConsumerCollection 的线程安全集合提供阻塞和限制功能。 ConcurrentBag 表示对象的线程安全的无序集合。 ConcurrentDictionary<TKey,TValue> 表示可由多个线程同时访问的键/值对的线程安全集合。 ConcurrentQueue 表示线程安全的先进先出 (FIFO) 集合。 ConcurrentStack 表示线程安全的后进先出 (LIFO) 集合。 OrderablePartitioner 表示将可排序数据源拆分为多个分区的特定方式。 Partitioner 提供针对数组、列表和可枚举项的常见分区策略。 Partitioner 表示将数据源拆分为多个分区的特定方式。 介绍3个常用的类ConcurrentDictionary,ConcurrentQueue,ConcurrentBag
ConcurrentDictionary<TKey,TValue>
提供可供多线程同时访问的键值对的线程安全集合,对应Dictionary<TKey, TValue>。IsEmpty:判断字典是否为空。
AddOrUpdate:将键值对添加到字典中,如果Key值已经存在,则更新Value值。
Clear:将所有键值对从字典中移除。
GetOrAdd:如果键不存在,则将键值对添加到字典中并返回Value值,如果键已经存在,则返回现有值,不会更新现有值。
TryUpdate:尝试更新键对应的Value值。
ConcurrentQueue<T>
队列,提供线程安全的先进先出(FIFO)集合,对应Queue<T>。Enqueue:将对象添加到队列末尾处。
TryDequeue:尝试移除并返回位于队列开头处的对象。
TryPeek:尝试返回队列开头处的对象但不将其移除。
ConcurrentBag<T>
提供可供多个线程同时安全访问的无序包。对应非泛型列表List<T>。包(Bag)和数据上的集(Set)的区别是包可包含重复元素,而集中不能包含重复元素。
Count:获取无序包中的元素数量
IsEmpty:判断无序包是否为空。
TryPeek:从无序包中获取一个元素,但不进行移除。
TryTask:从无序包获取一个元素并移除。
-
创建ArrayList集合对象并添加元素
2021-02-12 21:34:55/** 为什么出现集合类:* 我们学习的是面向对象编程语言,而面向对象编程语言对事物的描述都是通过对象来体现的。* 为了方便对多个对象进行操作,我们就必须对这多个对象进行存储,而要想对多个对象进行存储,* 就不能... -
Android 内存优化(六) —— 集合对象,资源未关闭等造成内存泄漏
2022-04-13 08:35:01集合中的对象未清理造成内存泄露 这个比较好理解,如果一个对象放入到 ArrayList 、 HashMap 等集合中,这个集合就会持有该对象的引用。当我们不再需要这个对象时,也并没有将它从集合中移除,这样只要集合还在使用... -
Java如何将集合对象转换为数组?
2021-03-18 01:10:20要将基于集合的对象转换为数组,可以使用toArray()或toArray(T[]a)方法,该方法由集合接口的实现提供,例如java.util.ArrayList.packageorg.nhooo.example.util;importjava.util.List;importjava.util.ArrayList;... -
前端vue给后端list集合对象传值
2021-03-27 20:05:47今天编写项目时遇到一些问题,就是不知道前端怎么给后端的list赋值 因为前面做的都是单个查询 如下 ... import io.swagger.annotations.ApiModel; import io.swagger....@ApiModel(value = "数据查询对象", desc -
JSONArray集合转list集合对象
2019-04-12 17:01:00对象> JSONObject obj = PostInterface.post(PostInterface.ServletName.activitiModel,"queryPlaceHolderList",new HashMap()).getJSONObject("SvcCont"); List<Placeholder> dataArr... -
java中对集合对象按照某个元素值进行排序
2020-12-02 11:15:06示例: 对cloudShopDataList中的cloudShopData按照dataTime进行升序排序 : 方法一 cloudShopDataList.sort(new Comparator<CloudShopData>() { @Override public int compare(CloudShopData o1, ... -
Java处理多个List集合中对象数据合并处理数据后为同一个List集合对象
2020-09-01 10:09:16但最终要的结果是几个集合的所有数据! (三个接口来源数据并无关联关系,都是互相独立) 最终效果: 实际三个接口查询出来,使用list.addAll()进行拼接: 无法满足业务要求,如下才是满足业务要求: 下面... -
如何对list集合对象去重
2019-01-27 22:21:59那么,当list集合中的元素为多个属性组成的对象时,如何对list集合进行去重; 因为对象是在内存中开辟一块区域进行存储,每个对象的值哪怕相同,但只要是你新new出来的,代表的也是不同的对象,所以我们首先需要在... -
gRPC----gRPC(springboot)传输流式数据和集合对象
2019-06-29 11:53:45springboot+GRPC传输流式数据和集合对象概述项目结构和实现步骤demo实现接口文件部分服务端客户端运行结果 概述 整个demo是在上一篇springboot+GRPC传输简单数据的基础上添加的内容,如有什么不明白的地方可参考上一... -
集合对象数据展示到前端页面
2018-06-10 21:56:51首先集合对象数据展示到前端容易被遗忘,这个问题还是记录下比较好。集合对象数据就是对象的集合数据通过迭代的方式分布到前端; @RequestMapping(value = "/item/itemlist.action") public String ... -
获取List集合对象中某一列属性值
2020-11-09 22:24:59例:获取disposeList集合中CorpusMarkPage对象中的responseId属性,生成新的List集合 List responseIdList = disposeList.stream().map(CorpusMarkPage::getResponseId).collect(Collectors.toList()); -
判断list集合对象中的字段是否存在某个值
2021-02-21 20:15:48if(list.stream() .filter(item->item.getUserId() .equals("123456")) .findAny() .isPresent()) { //存在则代码块执行业务逻辑代码 } -
Stream流根据条件过滤集合对象
2020-10-17 11:21:38有个需求,我要获取一个部门下所有的人员年龄在30...我们先定义一个部门人员集合DeptUser @Data public class DeptUser { //用户id private int userId; //年龄 private int age; //性别 private String sex -
(Mybatis)对集合对象的映射
2018-07-17 14:59:45-- collection指定对应的集合对象关系映射 property: 将数据放入User对象的ordersList属性中 ofType: 指定ordersList属性的泛型类型 --> select user.*,orders.id oid... -
java 8 过滤集合对象为空数据
2020-12-17 14:57:47list.stream().filter(Objects::nonNull).collect(Collectors.toList()); -
Spring注解注入集合对象
2018-08-19 10:54:19当实例化一个BeanInterface之后,另外一个类采用泛型注入List,Spring竟然成功的将实例化的对象放入List之中。思路打开之后,针对Map的就更好说了。Spring会将service的名字作为key,对象作为value封装进入Map。 2. ... -
Bundle传递集合对象
2017-12-12 18:51:231.将对象定义成 Parcelable 类型 class 类名 implements Parcelable{ } ...b.putParcelableArrayList("list",集合对象); 接收: ArrayList temp = b.getParcelableArrayList("list"); -
获取list集合对象的某个属性值
2019-03-18 09:19:53接口已经有了获取所有设备新的是【对象】集合 本来是想让负责设备的人写接口的,可是人家不愿意,无奈只能自己在现有接口操作了 List<HraDeviceDTO> hraDeviceDTOS = hraFeign.getHraDeviceStatus... -
两个list集合对象,根据某一A集合中对象id判断是否在另一个B集合对象的id中是否有重复,取A集合中有,B集合...
2019-05-22 14:13:46one: for (int i = 0; i < A.size(); i++) { for (int j = 0; j < B.size(); j++) { if (A.get(i).getId().equals(B.get(j).getId())) { continue one; } } // A集合... -
Java集合对象的深度复制与普通复制
2015-10-30 21:27:21最近在开发中遇到了一些关于集合复制的一些问题,普通的集合复制只是将内存中栈的地址快拷贝一份,使得一个新的集合对象指向这个地址块,但是集合中的对象变量却是指向堆中的同一块区域。所以当拷贝的集合修改了集合... -
java List集合中根据集合对象的属性值进行排序
2017-01-10 16:05:57//进行排序的实体对象 package com.compile; public class User { String name; String age; public User(String name,String age){ this.name=name; this.age=age; } -
Java中将List集合对象转换成json字符串的两种方法
2020-09-02 11:17:241.使用Gson类中的toJson()方法 Gson gson = new Gson(); String listToJsonString = gson.toJson(list); 2.使用JSONArray json=JSONArray.fromobject(list);在调用json.toString()方法转换成字符串 ... -
JAVA_collection_集合相关知识点(二、获取集合对象中某个属性的集合——CollectionUtils.collect()方法...
2018-10-17 13:47:47List<User> userList = new ArrayList<User>(); List<String> userNameList = (List&...) CollectionUtils.collect(userList, new Transformer() { @Over... -
lambda 两个集合对象根据某个属性取交集、差集
2020-03-04 22:17:35List<TransferWarehouseO2ODetailDto> newTransfer = transferWarehouseO2ODetailDtoList.stream().filter(m -> !wlTransferWarehouseDList.stream().map(d ...哪个对象放前面就是取哪个对象的差集、交集反之把!去掉 -
关于多个List集合对象合并且去重实现
2018-11-09 09:49:12不必自己造轮子,这里有现成的轮子,请看代码 public static void main(String[] args){ List<Integer> list1 = new ArrayList<Integer>(); list1.add(1);... ...