精华内容
下载资源
问答
  • 注意List 使用前需要做非空处理 1.以某个属性分组 Map<String,List<...pictureList.stream().map(Picture::getSrc).collect(Collectors.toList()); 3.根据集合中的某个属性进行升序重排 roomLis.

    注意List 使用前需要做非空处理

    1.以某个属性分组

    Map<String,List<User>> map= userList.stream().collect(Collectors.groupingBy(User::getName));

    2.获取集合中的某个属性转为集合

    pictureList.stream().map(Picture::getSrc).collect(Collectors.toList());

    3.根据集合中的某个属性进行升序重排

    roomList.stream().sorted(Comparator.comparing(Room::getAvgPrice)).collect(Collectors.toList());

    4.根据集合中的某个属性进行降序重排

    roomList.stream().sorted(Comparator.comparing(Room::getAvgPrice).reversed()).collect(Collectors.toList());

    5.集合中的属性去重

    rpTags.stream().distinct().collect(Collectors.toList());

    6.根据集合中的某个属性过滤并获取第一个

    benefitList.stream().filter(benefit -> benefit.getId() == 1 || benefit.getId() == 20 || benefit.getId() == 26 || benefit.getId() == 89) .findFirst().orElse(null);

    7.根据集合中的属性转换为键值对Map

    getModule().stream().collect(Collectors.toMap(RateplanDO::getRateplanCode, rateplanDO -> rateplanDO));

    8.获取集合中某个最大值的int数据

    partnerCityHotelDOList.stream().mapToInt(PartnerCityHotelDO::getId).max().orElse(-1);

    9.提取集合中对象的某个属性转化List

    partnerCityHotelDOList.stream().map(PartnerCityHotelDO::getId).collect(Collectors.toList());

    展开全文
  • 在有些开发场景,需要对 List 对象列表进行过滤处理,并将有用的数据存放到Map中。例如:告警对象,包含告警uuid(alarmUuid) 和 设备uuid(objUuid),需要对 objUuid = -1的告警进行过滤,并将过滤后告警数据的...

    在有些开发场景,需要对 List 对象列表进行过滤处理,并将有用的数据存放到Map中。

    例如:告警对象,包含告警uuid(alarmUuid) 和 设备uuid(objUuid),需要对 objUuid = -1的告警进行过滤,并将过滤后告警数据的alarmUuid和 objUuid以键值对的形式保存到Map中。

    1、告警对象定义如下:

    /**

    * Created by Miracle Luna on 2020/3/16

    */

    public class AlarmInfoResponse {

    private String alarmUuid;

    private String objUuid;

    public AlarmInfoResponse(String alarmUuid, String objUuid) {

    this.alarmUuid = alarmUuid;

    this.objUuid = objUuid;

    }

    public String getAlarmUuid() {

    return alarmUuid;

    }

    public void setAlarmUuid(String alarmUuid) {

    this.alarmUuid = alarmUuid;

    }

    public String getObjUuid() {

    return objUuid;

    }

    public void setObjUuid(String objUuid) {

    this.objUuid = objUuid;

    }

    @Override

    public String toString() {

    return "AlarmInfoResponse{" +

    "alarmUuid='" + alarmUuid + '\'' +

    ", objUuid='" + objUuid + '\'' +

    '}';

    }

    }

    2、过滤代码如下:

    /**

    * Created by Miracle Luna on 2020/3/16

    */

    public class LambdaFilterListToMap {

    public static void main(String[] args) {

    List alarmInfoResponseList = new ArrayList<>();

    AlarmInfoResponse response0 = new AlarmInfoResponse("alarm0", "-1");

    AlarmInfoResponse response1 = new AlarmInfoResponse("alarm1", "1");

    AlarmInfoResponse response2 = new AlarmInfoResponse("alarm2", "2");

    AlarmInfoResponse response3 = new AlarmInfoResponse("alarm3", "3");

    alarmInfoResponseList.add(response0);

    alarmInfoResponseList.add(response1);

    alarmInfoResponseList.add(response2);

    alarmInfoResponseList.add(response3);

    // 方式1:先使用foreach遍历(遍历过程中条件判断)

    Map alarmObjUuidMap1 = new HashMap<>();

    alarmInfoResponseList.forEach(alarmInfoResponse -> {

    if(!"-1".equals(alarmInfoResponse.getObjUuid())) {

    alarmObjUuidMap1.put(alarmInfoResponse.getAlarmUuid(), alarmInfoResponse.getObjUuid());

    }

    });

    System.out.println("============= 方式1 ====================");

    alarmObjUuidMap1.forEach((alarmUuid, objUuid) -> System.out.println(alarmUuid + " : " + objUuid));

    // 方式2:使用流过滤,再使用foreach遍历

    Map alarmObjUuidMap2 = new HashMap<>();

    alarmInfoResponseList.stream().

    filter(alarmInfoResponse -> !"-1".equals(alarmInfoResponse.getObjUuid())).

    forEach(alarmInfoResponse -> alarmObjUuidMap2.put(alarmInfoResponse.getAlarmUuid(), alarmInfoResponse.getObjUuid()));

    System.out.println("\n============= 方式2 ====================");

    alarmObjUuidMap2.forEach((alarmUuid, objUuid) -> System.out.println(alarmUuid + " : " + objUuid));

    }

    }

    3、运行结果如下:

    ============= 方式1 ====================

    alarm2 : 2

    alarm1 : 1

    alarm3 : 3

    ============= 方式2 ====================

    alarm2 : 2

    alarm1 : 1

    alarm3 : 3

    以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

    展开全文
  • 注意List 使用前需要做非空处理 1.以某个属性分组 Map<String,List<...pictureList.stream().map(Picture::getSrc).collect(Collectors.toList()); 3.根据集合中的某个属性进行升序重排 roomList.stre

    注意List 使用前需要做非空处理

    1.以某个属性分组

    Map<String,List<User>> map= userList.stream().collect(Collectors.groupingBy(User::getName));
    

    2.获取集合中的某个属性转为集合

    pictureList.stream().map(Picture::getSrc).collect(Collectors.toList());
    

    3.根据集合中的某个属性进行升序重排

    roomList.stream().sorted(Comparator.comparing(Room::getAvgPrice)).collect(Collectors.toList());
    

    4.根据集合中的某个属性进行降序重排

    roomList.stream().sorted(Comparator.comparing(Room::getAvgPrice).reversed()).collect(Collectors.toList());
    

    5.集合中的属性去重

    rpTags.stream().distinct().collect(Collectors.toList());
    

    6.根据集合中的某个属性过滤并获取第一个

    benefitList.stream().filter(benefit -> benefit.getId() == 1 || benefit.getId() == 20 || benefit.getId() == 26 || benefit.getId() == 89) .findFirst().orElse(null);
    

    7.根据集合中的属性转换为键值对Map

    getModule().stream().collect(Collectors.toMap(RateplanDO::getRateplanCode, rateplanDO -> rateplanDO));
    

    8.获取集合中某个最大值的int数据

    partnerCityHotelDOList.stream().mapToInt(PartnerCityHotelDO::getId).max().orElse(-1);
    

    9.提取集合中对象的某个属性转化List

    partnerCityHotelDOList.stream().map(PartnerCityHotelDO::getId).collect(Collectors.toList());
    
    展开全文
  • public static voidmain(String[] args) {//排序的条件List orderRegulation = Arrays.asList("G102", "G103", "G108", "29", "28", "25", "24", "G109", "G105", "26", "21");//targetList进行排序List targetList ...

    public static voidmain(String[] args) {

    //排序的条件

    List orderRegulation = Arrays.asList("G102", "G103", "G108", "29", "28", "25", "24", "G109", "G105", "26", "21");

    //targetList进行排序

    List targetList = new ArrayList();

    Posts post3= newPosts();

    post3.setId("G102");

    post3.setName("xiaoli3");

    post3.setAge("23");

    Posts post2= newPosts();

    post2.setId("G103");

    post2.setName("xiaoli2");

    post2.setAge("22");

    Posts post4= newPosts();

    post4.setId("G109");

    post4.setName("xiaoli4");

    post4.setAge("25");

    Posts post7= newPosts();

    post7.setId("G107");

    post7.setName("xiaoli7");

    post7.setAge("21");

    Posts post8= newPosts();

    post8.setId("G101");

    post8.setName("xiaoli8");

    post8.setAge("26");

    Posts post5= newPosts();

    post5.setId("G105");

    post5.setName("xiaoli5");

    post5.setAge("27");

    Posts post1= newPosts();

    post1.setId("G104");

    post1.setName("xiaoli1");

    post1.setAge("29");

    Posts post6= newPosts();

    post6.setId("G106");

    post6.setName("xiaoli6");

    post6.setAge("23");

    Posts post9= newPosts();

    post9.setId("G106");

    post9.setName("xiaoli9");

    post9.setAge("25");

    Posts post10= newPosts();

    post10.setId("G104");

    post10.setName("xiaoli10");

    post10.setAge("28");

    targetList.add(post1);

    targetList.add(post2);

    targetList.add(post3);

    targetList.add(post4);

    targetList.add(post5);

    targetList.add(post6);

    targetList.add(post7);

    targetList.add(post8);

    targetList.add(post9);

    targetList.add(post10);

    System.out.println("排列前的数据:");

    targetList.forEach(t-> System.out.print(t.getId() + t.getName() + "~" + t.getAge() + " "));

    System.out.println();

    setListOrder(orderRegulation, targetList);

    System.out.println("排序的规则:");

    orderRegulation.forEach(t-> System.out.print(t + " "));

    System.out.println();

    System.out.println("排列后的数据:");

    targetList.forEach(t-> System.out.print(t.getId() + t.getName() + "~" + t.getAge() + " "));

    }//平时排序可使用其中一种,下面是综合两个条件排序

    public static void setListOrder(List orderRegulation, ListtargetList) {//按照Posts的Id来排序

    Collections.sort(targetList, ((o1, o2) ->{int io1 =orderRegulation.indexOf(o1.getId());int io2 =orderRegulation.indexOf(o2.getId());

    //如果排序的值多余排序条件里面的值,把多余的值放到排序值的后面if (io1 == -1) {

    io1= targetList.size() -io1;

    }if (io2 == -1) {

    io2= targetList.size() -io2;

    }return io2 -io1;

    }));//按照Posts的age来排序

    Collections.sort(targetList, ((o1, o2) ->{int io1 =orderRegulation.indexOf(o1.getAge());int io2 =orderRegulation.indexOf(o2.getAge());if (io1 == -1) {

    io1= targetList.size() -io1;

    }if (io2 == -1) {

    io2= targetList.size() -io2;

    }return io2 -io1;

    }));

    }

    展开全文
  • /** * 集合转换 * eg: * List<String> base = new ArrayList<>... * var list = convertList(base, e -> new Integer[]{Integer.valueOf(e.split("[;]")[0]), Integer.valueOf(e.
  • 常用方式 代码如下: public Map<Long, String> getIdNameMap(List<Account> accounts) { return accounts....收集实体本身map 代码如下: public Map<Long, Account> getIdAccountMap
  • @Test public void test(){ ... mapList = list.stream().map(adClaimsVO -> { //方法的参数 Map map = BeanUtil.beanToMap(adClaimsVO, false, true); // BeanUtil是一个工具类,beanToMap() 将JavaBe
  • 利用java8新特性,可以用简洁高效的代码来实现一些数据处理。 网上有很多DEMO,但大多数都是实体类泛型。但我们开发常用的是List<Map<Sting, Object>>。
  • List<DBInfo> dbInfoList = new ArrayList<DBInfo>(); DBInfo dbInfo1 = new DBInfo(); dbInfo1.setDriver("a"); dbInfo1.setPassWord("b"); dbInfo1.setRemark("c"); dbInfo1.setUrl("d"); ...
  • Map<Long, List<String>> map = list.stream().collect(Collectors.groupingBy(JavaBean::getName, Collectors.mapping(JavaBean::getId, Collectors.toList())));
  • 利用java8新特性,可以用简洁高效的代码来实现一些数据处理List分组、List转Map、String转ListmapKey转list、循环map、过滤Filter、List转String1、分组List里面的对象元素,以某个属性来分组,将属性相同的放在...
  • Map转换成List

    2021-12-08 23:09:49
    Map转换为List
  • lambda表达式__List转Map

    2021-03-01 14:50:40
    listToMapOne(List<Supplier> suppliers){ Map<Long,String> map = suppliers.stream().collect(Collectors.toMap(Supplier::getId, Supplier::getName)); return map; } 返回实体本身· Map<...
  • } 2、Java lambda list转换map,以多个属性作为key值 package com.lzk.test01.test; import java.util.ArrayList; import java.util.List; import java.util.Map; import java.util.stream.Collectors;public ...
  • JDK8的lambda方式List转Map 遍历 public void forEach(Map<Long, String> map) { map.forEach((k, v) -> { System.out.println("k=" + k + ",v=" + v); }); } list转map 代码如下: public Map<...
  • 我就废话不多说了,大家还是直接看代码吧~Map partsMap = synList.stream().collect(Collectors.toMap(k ->k.getOe()+k.getOeId()+k.getPartGroupId()+k.getStdPartId()+k.getBrandCode(), part -> part));...
  • 利用Java将lambda list转换map并实现拼接参数发布时间:2020-11-07 16:44:14来源:亿速云阅读:147作者:Leah本篇文章给大家分享的是有关利用Java将lambda list转换map并实现拼接参数,小编觉得挺实用的,因此分享给...
  • lambda表达式将list转map时重复key的处理,避免出现 Duplicate key xxxx异常
  • Java使用Lambda表达式List转map 常用方法汇总 //返回key的实体map Map<String,DemoModel> modelMap = list.stream().collect(Collectors.toMap(DemoModel::getKey, demo -> demo)); //返回key,...
  • 一、建立一个实体类(学生类) java public ... Map studentMap = list.stream().collect(Collectors.toMap(Student:: getId, (k) -> k)); System.out.println("根据学号查找学生:"+studentMap.get(110).getName()); } }
  • Lambda表达式 List转换为Map 各种格式

    千次阅读 2021-01-13 14:20:20
    name='苹果1', money=3.25, num=10}, Apple{id=1, name='苹果2', money=1.35, num=20}], 2=[Apple{id=2, name='香蕉', money=2.89, num=30}], 3=[Apple{id=3, name='荔枝', money=9.99, num=40}]} 2、List转Map id...
  • list转mapjava8 lambdaList转换为Map比较简单,但是 有坑:List sellOutList = Lists.newArrayList();Boy one = new Boy();one.setId(34343);sellOutList.add(one);Boy two = new Boy();two.setId(34343);...
  • Map<String, Parts> partsMap = synList.stream().collect(Collectors.toMap(k -> k.getOe()+k.getOeId()+k.getPartGroupId()+k.getStdPartId()+k.getBrandCode(), part -> part));
  • 在Java 8中,我们可以使用带有lambda表达式的Stream对象的map()方法将对象转换为另一种类型。 map()方法是流对象中的中间操作,因此我们需要一种终端方法来完成流。语法Streammap(FunctionsuperT,?extendsR>...
  • 分享知识 传递快乐 ... List<AreaEntity> list = new ArrayList<>(); AreaEntity entity = null; for (int i = 1; i < 10; i++) { entity = new AreaEntity(); entity.setId(i); ...
  • List courseTypeList = findAll(); if (ObjectUtils.isNotNull(courseTypeList)) return courseTypeList.stream().collect(Collectors.toMap(CourseType:: getTypeKey, CourseType::getTypeName)); } 解释: 目标:...
  • 0 接之前姊妹篇1 java8的lambda中的map的合并https://blog.csdn.net/wabiaozia/article/details/842621952 最简单入门:java8的lambda中的map相关操作:基础及注意事项图文详解...
  • 0. 说明 将Long转换为字符串的方式有很多种,如toString,valueOf,拼接字符串,new String()等。... collect = ids.stream().map(Long::parseLong).collect(Collectors.toList()); 2. 将List转换成List List&
  • List到associate函数的Map用Kotlin, List有一个叫做associate的函数。 associate有以下声明:fun Iterable.associate(transform: (T) -> Pair): Map返回包含由应用于给定collection的元素的transform函数提供...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 92,418
精华内容 36,967
关键字:

lambdamap转成list