gpt4 book ai didi

Java 流 : Difficulty in object property update

转载 作者:行者123 更新时间:2023-12-04 10:47:45 27 4
gpt4 key购买 nike

我有一个包含大量字段的列表 List,需要使用流一次性创建一个 List。

  • 我们需要将List中的字段current标记为true,为输入List中的最小正整数

    输入:

    [PT(pn=-1, endDate=2019-01-11, dp=MAR 2019,..),           
    PT(pn=4, endDate=null, dp=APR 2019,..),
    PT(pn=6, endDate=2019-05-11, dp=MAY 2019,..)]

    输出:

    [OP(pn=11, current=false, dp=MAR 2019),
    OP(pn=4, current=true, dp=APR 2019),
    OP(pn=6, current=false, dp=MAY 2019)]
  • class OP{       
    Integer pn;
    Boolean current;
    String dp;
    }
    List<OP> filteredList11 = availablePT.get()
    .stream()
    .map(e->new OP(e.getPn(),**,e.getDp()))
    .collect(Collectors.toList());

    我有点困惑如何导出逻辑以将当前标志(**)更新为单个循环中最小正整数的真值。

    最佳答案

    这是另一种方法。
    有一个 OP 构造函数,它接受一个 PT 并映射所有字段,加上默认设置为 false 的额外 boolean 值。

    然后做这样的事情:

    List<OP> ops = availablePT.stream().map(dp -> {return new OP(dp);})
    .filter(line -> line.getPn()!=null && line.getPn().doubleValue()>=0)
    .sorted(Comparator.comparingInt(OP::getPn))
    .collect(Collectors.toList());
    if(ops!=null && !ops.isEmpty()) {
    ops.get(0).setCurrent(true);
    }

    这基本上创建了新对象,然后过滤掉负数,然后对正数进行排序,然后你保证具有最小 dp 值的操作是第一个,所以将它的 boolean 值设置为 true

    关于Java 流 : Difficulty in object property update,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59621632/

    27 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com