【发布时间】:2015-06-09 11:35:03
【问题描述】:
给定一个整数元素列表,如何一次性获得最大值和它的索引。如果有多个元素具有相同的最大值,则返回其中任何一个的索引都可以。
例如:
// Initialize list of integer
List<Integer> intList = Arrays.asList(5, 8, 3, 2);
// To get max value
Optional<Integer> maxVal = intList.stream().reduce(Integer::max);
// But how could I also get its index without iterating the array again?
如果我只需要执行一次,我可以对数组进行排序并获取第一个或最后一个(基于排序顺序)。但是,我想看看我们如何在不排序的情况下做到这一点。
【问题讨论】:
标签: java-8 java-stream