gpt4 book ai didi

java - 如何在不重新排序的情况下返回列表中的唯一值

转载 作者:塔克拉玛干 更新时间:2023-11-01 21:32:13 25 4
gpt4 key购买 nike

在下面的代码中,我有一个包含重复值的数组列表:

List<Double> fitnesses = new ArrayList<Double>();
fitnesses.add(5.0);
fitnesses.add(1.0);
fitnesses.add(5.0);
fitnesses.add(2.0);
fitnesses.add(4.0);
fitnesses.add(2.0);

我想删除重复项,为此我使用了以下内容:

Set<Double> hashsetList = new HashSet<Double>(fitnesses);

问题是我得到的输出是:

[1.0, 2.0, 4.0, 5.0]

问题是我不想对值进行排序。有没有办法在不重新排序的情况下删除重复项

最佳答案

您可以使用具有不同属性的流。
distinct()是java 8中加入的stream函数

注意:如果使用 java8

List<Double> distinctList = fitnesses.stream().distinct().collect(Collectors.toList());

注意:JAVA8之前

Set<Double> uniqueRecords = new LinkedHashSet<Double>();
for (Double value : fitnesses){
uniqueRecords.add(value);
}
System.out.println(uniqueRecords);

或者我们使用:

Set<Double> uniqueRecords = new LinkedHashSet<Double>(fitnesses); 

输出 = [5.0, 1.0, 2.0, 4.0]

关于java - 如何在不重新排序的情况下返回列表中的唯一值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51596298/

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