java linq过滤及赋值二三例

221 阅读1分钟

1、从集合中过滤出符合条件的元素(例子1)

//从集合List<>中获得符合条件的第一个元素
//例子中,ybService.getWaves() 返回 List<Yb_Wave>
Yb_Wave wave = ybService.getWaves().stream()
        .filter(w -> name.equals(w.getName()))
        .findAny()
        .orElse(null);

2、从集合中过滤出符合条件的元素(例子2)

//lis.get(0).getChildren()本身是一个集合
List<MapLayer> lis = Utils.getMapLayers("public");
Arrays.stream(lis.get(0).getChildren())
        .filter(w -> subject.equals(w.getTitle()))
        .findAny()
        .orElse(null)

3、从集合中过滤出符合条件的元素,然后修改

String imgPath = "/base/images/";

List<WorkBAquatic> lis = this.workBAquaticDao.queryAllByLimit(offset, limit);
lis.stream()
        .filter(w -> w.getImg() != null)
        .forEach(w -> {
            w.setImg(imgPath + w.getImg());
        });
return lis;