gpt4 book ai didi

java - 如何获取数组列表中前三个最大值的索引

转载 作者:行者123 更新时间:2023-11-30 07:12:56 28 4
gpt4 key购买 nike

tvalue 是我的数组列表,我想检索数组列表中前三个最大值的索引,通过使用下面的代码,我得到错误的值可以帮助我

int index = Colletions.max(tvalue);
if ((index + 1) > 10) {
data = data + "Node" + (index + 1);
} else if ((index + 1) <= 10) {
data = data + "Node-" + (index + 1) + " + ";
System.out.println((index + 1));
}
}
Collections.sort(tvalue);
int in = tvalue.indexOf(tvalue.get(tvalue.size() - 2));
System.out.println(tvalue.get(tvalue.size() - 2)); {
if (( in +1) > 10) {
data = data + "Node-" + (( in +1) - 10) + " + ";
System.out.println(( in +1) - 10);
} else if (( in +1) <= 10) {
data = data + "Node-" + ( in +1) + " + ";
System.out.println(( in +1));
}
}

int id = tvalue.indexOf(tvalue.get(tvalue.size() - 3));
System.out.println(tvalue.get(tvalue.size() - 3)); {
if ((id + 1) > 10) {
data = data + "Node-" + ((id + 1) - 10) + " + ";
System.out.println((id + 1) - 10);
} else if ((id + 1) <= 10) {
data = data + "Node-" + (id + 1) + " + ";
System.out.println((id + 1));
}
}

最佳答案

您可以在一行中使用流来完成此操作,请参阅下面的示例。

List<Integer> list = IntStream.range(1000, 2000).boxed().collect(Collectors.toList());
list.stream().sorted((v1,v2)->v2.compareTo(v1)).limit(3).map(v->list.indexOf(v)).forEach(i->System.out.println(i));

关于java - 如何获取数组列表中前三个最大值的索引,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38887916/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com