具有ID,级别和角色为属性的集合对象,我想从集合中找到最大级别
例如,在下面的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()));
答案 0 :(得分:1)
流运算符在Java 6中不起作用。它们出现在Java 8中。因此,您只需为获取最大值的每个元素进行循环。那是使这项工作唯一的。
答案 1 :(得分:1)
您可以仅使用一个循环就可以做到这一点:
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);