我有集合对象,id,level和role作为属性,我想从集合中找到最大的级别
例如,从下面的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()));发布于 2019-10-17 23:49:39
您可以像这样做,只需使用一个循环:
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);
发布于 2019-10-17 23:46:42
流运算符在Java 6中不起作用。它们出现在Java 8中。因此,您只需为每个元素循环获取最大值。这是唯一能让它工作的方法。
https://stackoverflow.com/questions/58436304
复制相似问题