Я хочу найти самый большой size() из List<TileFrame>
tileFrames, который находится внутри класса List<TileAnimation>
.
TileAnimation.java
public class TileAnimation {
private long localGID;
private List<TileFrame> tileFrames;
public long getLocalGID() {
return localGID;
}
public void setLocalGID(long localGID) {
this.localGID = localGID;
}
public List<TileFrame> getTileFrames() {
return tileFrames;
}
public void setTileFrames(List<TileFrame> tileFrames) {
this.tileFrames = tileFrames;
}
public TileAnimation(long localGID, List<TileFrame> tileFrames) {
this.localGID = localGID;
this.tileFrames = tileFrames;
}
@Override
public String toString() {
return "TileAnimation{" +
"localGID = " + localGID +
", tileFrames = " + tileFrames +
'}';
}
}
TileFrame.java
public class TileFrame {
private long tileId;
private long duration;
public long getTileId() {
return tileId;
}
public void setTileId(long tileId) {
this.tileId = tileId;
}
public long getDuration() {
return duration;
}
public void setDuration(long duration) {
this.duration = duration;
}
public TileFrame(long tileId, long duration) {
this.tileId = tileId;
this.duration = duration;
}
@Override
public String toString() {
return "TileFrame{" +
"tileId = " + tileId +
", duration = " + duration +
'}';
}
}
Допустим, у меня есть такой список объектов, и я заполнил его позже:
private List<TileAnimation> tileAnimations = new ArrayList<>();
тогда как найти такой максимальный размер во внутреннем List<TileFrame>
из List<TileAnimations>
?
Все решения, которые я знаю, когда есть только один список с сигулярными полями без внутренних списков, но здесь это что-то новое для меня, и я не мог найти решения такой проблемы в Интернете.
вы можете добиться этого, просто используя потоки
int maxTileFramesSize = tileAnimations.stream()
.mapToInt(tileAnimation -> tileAnimation.getTileFrames().size())
.max()
.orElse(0);
Кажется, все в порядке. Завтра я проверю это и отмечу ваш ответ как принятый. Спасибо :)
Отвечает ли это на ваш вопрос? Java 8 Stream - Найдите самый большой вложенный список