这是我的代码:
public static void Max(List<List<String>> data) {
data.forEach(d -> String max = Collections.max(Arrays.asList(d.getMax(5))));
}
我得到的结果:
70
75
76
我怎样才能只得到最大数字?
您可以使用Comparator.comparing
来比较第二个索引,并在比较时解析为Integer,然后从列表中获取第二个index元素。
String res = Collections.max(data,
Comparator.comparing(e -> Integer.parseInt(e.get(2)))).get(2);
一种更简单的方法:
int max = Integer.MIN_VALUE;
for (int i = 0; i < data.size(); i++) {
for (int j = 0; j < data.get(i).size(); j++) {
max = Integer.max(Integer.parseInt(data.get(i).get(j)), max);
}
}
System.out.println(max);
通过这种方式,我们梳理每个列表的每个成员,并通过调用max()
来获得最大值,然后将其显示在控制台中。