首页 > 编程语言 >java懒人操作CURT

java懒人操作CURT

时间:2023-01-06 14:33:58浏览次数:46  
标签:map CURT java stream Collectors Fields List 懒人 collect

1、java对象复制:BeanUtils.copyProperties(temp, reimbursement);

2、流操作

List对象转map:Map<String, Fields> fieldsMap = fields.stream().collect(Collectors.toMap(Fields::getFieldName, Fields->Fields));
List对象转map分组:Map<String, List<Fields>> listMap = fields.stream().collect(Collectors.groupingBy(Fields::getOssId));
List对象转map,对应list顺序与list一致:<LinkedHashMap> abcM = fields.stream().collect(Collectors.groupingBy(t->t.getSupplierId(), LinkedHashMap::new, Collectors.toList()));
List对象转map,key为多个字段:Map<String, Fields> systemFieldsMap = fields.stream().collect(Collectors.toMap(x->x.getSupplierId() + "-" + x.getContractId(), Fields->Fields));
List对象转map多字段分组:Map<String, List<Fields>> listMap = fields.stream().collect(Collectors.groupingBy(s->s.getName()+'-'+s.getValue()+'-'+s.getKey()));

List对象转map(如果key重复,选择第一个值:(v1, v2)->v1):Map<String, String> idMap = fields.stream().collect(Collectors.toMap(Fields::getResId, Fields::getResBaseId, (v1, v2)->v1));

求和:Map<String, BigDecimal> allSumIn = fields.stream().collect(Collectors.groupingBy(Fields::getBaseId, CollectorsUtil.summingBigDecimal(Fields::getAmount)));

求最大值:Map<String, BigDecimal> allMaxIn = fields.stream().collect(Collectors.groupingBy(Fields::getBaseId, CollectorsUtil.maxBy(Fields::getAmount)));

对象转List<String> : List ids = fields.stream().map(Fields::getId).collect(Collectors.toList());
对象转Set<String> : List ids = fields.stream().map(Fields::getId).collect(Collectors.toSet());

求和:BigDecimal sumTotal = fields.stream().collect(CollectorsUtil.summingBigDecimal(Fields::getAmount));

3、List操作

去重:HashSet

Set转List:
  Set<String> collect;
  List<String> wordList =new ArrayList<>(collect)

String[]转List:String[] words = {"ace", "boom", "crew", "dog", "eon"}; List<String> wordList = Arrays.asList(words);

去掉list中null:List olds.removeAll(Collections.singleton(null));

map的值转换为list集合: List<String> kyList = map.keySet().stream().collect(Collectors.toList());
字符串转List<String> : List<String> list = Arrays.asList(str.split(","));


List转字符串:String str = StringUtils.join(list, ",");
List转数组:String[] arr = list.toArray(new String[list.size()]);

数组转List:List<String> list = Arrays.asList(arr);


json转对象:JSONObject.parseObject(jsonlist, List.class);
对象转json:JSONObject obj = (JSONObject) JSONObject.toJSON(t);

 

List求并集:retainAll

去掉字符串中尾号为数字:String name; name().replaceAll("\\d+", "");

移除:inres.removeIf(key->key.getAmount().compareTo(new BigDecimal("0.0")) <= 0);
判断元素是否存在:hashSet 而不是 list,list 判断一个元素是否存在的代码
批量修改List<String>,在值后面追加id: for (int i = 0; i < destName.size(); i++){destName.set(i, destName.get(i) + id);}


对象转Map:
Map<String, Object> map = null;
String jsonString = JSONUtil.toJsonStr(t);
Gson gson = new Gson();
map = new HashMap<>();
map = gson.fromJson(jsonString, map.getClass());

标签:map,CURT,java,stream,Collectors,Fields,List,懒人,collect
From: https://www.cnblogs.com/guobm/p/17030177.html

相关文章

  • AJAX跨域请求的理解,JAVA
    1.浏览器的同源策略  目前所有浏览器都由同源策略      什么是同源策略:   协议、域名、端口都一直的uri称为“同源”       不同源之间存在以下......
  • 在java中使用solrj对solr进行CRUD
    如果想要知道如何安装solr,集成IKAnalyzer中文分词器,批量导入数据库数据,java使用参照以下本博主博文:安装solr集成IKAnalyzer中文分词器solr使用浏览器批量导入数据库中数据s......
  • Java中在指定范围内生成整型、长整型、双精度随机数流
    场景Java8新特性-Stream对集合进行操作的常用API:https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/126070657如果希望在指定范围内生成整型、长整型或双精度......
  • JAVA的FOR 语句
    快捷键 输入100.for等于输入for(inti=0;i<100;i++){}publicclassForDemo{publicstaticvoidmain(String[]......
  • Java 获取本机IP地址
    文章目录​​前言​​​​一、规则​​​​二、获取​​​​1.使用​​​​2.工具类​​前言在Java中如何准确的获取到本机IP地址呢?网上大部分的做法是​​InetAddress.getL......
  • 来自菜鸡Java工程师的日积月累
    项目简介目前​​Treasure​​​是个微服务架构的纯后端项目,前端部分后期进行;同时​​Treasure​​是一个来自菜鸡Java工程师本着对技术的积累与个人的成长的开源项目。主......
  • Java String为什么被设计为final的
    文章目录String被设计为不可变是因为String对象是缓存在字符串池中的,因此这些缓存的字符串是可以被多个客户端访问的,如果一个客户端的访问影响了别的客户端的行为,这样就存在......
  • Java 集合判空优化
    文章目录//反例LinkedList<Object>collection=newLinkedList<>();if(collection.size()==0){System.out.println("collectionisempty.");}//正例LinkedList<O......
  • Java 中map 遍历优化
    文章目录packagedemo.map;importjava.util.HashMap;importjava.util.List;importjava.util.Map;importjava.util.stream.Collectors;/***<p>*Map遍历优化*</P>......
  • Java嵌套if else优化
    文章目录​​1.传统实现​​​​2.策略模式+工厂模式+单例模式优化​​​​2.1策略接口​​​​2.2不同策略实现类​​​​2.2.1处理策略一​​​​2.2.2处理策略二​......