найти максимальное количество из коллекции объекта - PullRequest
0 голосов
/ 17 октября 2019

Имея объект коллекции с идентификатором, уровнем и ролью в качестве атрибута, и я хочу найти максимальный уровень из набора

, например, из приведенной ниже таблицы Assignment, максимальный уровень равен 13. как найти максимальный уровень из таблицы назначений SET

:

Id      Level   role
259256  1       SYSTM_ADMN  
259257  9       APPRVR_LVL_4
259258  8       APPRVR_LVL_3
259259  10      APPRVR_LVL_5
259260  6       APPRVR_LVL_1
259261  13      INTRNL_RD_ONLY
259268  8       SYSTM_ADMN  
259269  10      SYSTM_ADMN  
259270  9       SYSTM_ADMN  

следующий код был написан с использованием Java8. Но я хочу запустить код в Java6.

Assignment assignment =  Collections.max(assignmentset, Comparator.comparing(s -> s.getLevel()));

Ответы [ 2 ]

1 голос
/ 17 октября 2019

Вы можете сделать это так, используя только цикл:

public Assignment getMaxAssignmentFromCollection(Collection collection) {
    int max = Integer.MIN_VALUE;
    Assignment maxAssignment = null;
    for(Assignment element: collection) {
        if(element.getLevel() > max) {
            max = element.getLevel();
            maxAssignment = element;
        }
    }
    return maxAssignment;
}

И затем используйте его:

Assignment maxAssignment = getMaxAssignmentFromCollection(assignmentSet);

1 голос
/ 17 октября 2019

Операторы потока не работают в Java 6. Они появляются в Java 8. Поэтому вам нужно всего лишь пройти цикл для каждого элемента, получающего максимальное значение. Это единственное, что делает эту работу.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...