【发布时间】:2021-12-08 05:38:28
【问题描述】:
我想找到最有效的方法来找到集合的第一个元素,该元素位于另一个集合中,我也是第一个条目。我认为这是“丑陋”的解决方案。
public class UnitLine {}
public class Unit {
private Collection<UnitLine> unitLines;
public Collection<UnitLine> getUnitLines() {
return unitLines;
}
}
public class Wrapper {
Collection<Unit> units;
public Collection<Unit> getUnits() {
return units;
}
}
public static void main(String[] args) {
Wrapper wrapper = new Wrapper();
Unit unit = wrapper.getUnits().stream().findFirst().orElseGet(null);
if (unit != null) {
UnitLine unitLine = unit.getUnitLines().stream().findFirst().orElseGet(null);
if (unitLine != null) {
// do something
}
}
}
【问题讨论】:
-
嗯不是真的 - 我想知道如何以最有效的方式获取第一个单元的第一个 unitLine,因为这是我需要对这两个集合做的。
-
您为什么不考虑使用 TreeMap 而不是列表列表?并用运行数字索引地图?
-
我无法更改它们被定义为集合的“输入集合”,因此我需要使用它。
标签: java stream nested-lists