Java находит самый большой размер списка в списке

Я хочу найти самый большой 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>? Все решения, которые я знаю, когда есть только один список с сигулярными полями без внутренних списков, но здесь это что-то новое для меня, и я не мог найти решения такой проблемы в Интернете.

Отвечает ли это на ваш вопрос? Java 8 Stream - Найдите самый большой вложенный список

Harshal Parekh 19.04.2023 04:22
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
2
1
54
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

вы можете добиться этого, просто используя потоки

int maxTileFramesSize = tileAnimations.stream()
       .mapToInt(tileAnimation -> tileAnimation.getTileFrames().size())
       .max()
       .orElse(0);

Кажется, все в порядке. Завтра я проверю это и отмечу ваш ответ как принятый. Спасибо :)

mnietuniema 16.04.2023 20:17

Другие вопросы по теме