Tag: argmax

Java 8流中的arg max?

我经常需要根据产生double或int值的标准的最大化来收集集合的最大元素。 Streams有max()函数,需要我实现一个比较器,我觉得很麻烦。 是否有更简洁的语法,例如以下示例中的names.stream().argmax(String::length) ? import java.util.Arrays; import java.util.Comparator; import java.util.List; public class ArgMax { public static void main(String[] args) { List names = Arrays.asList(“John”,”Joe”,”Marilyn”); String longestName = names.stream().max((String s,String t)->(Integer.compare(s.length(),t.length()))).get(); System.out.println(longestName); } }