gpt4 book ai didi

java - 如何在 Java 中创建唯一的值列表?

转载 作者:行者123 更新时间:2023-11-29 08:25:51 25 4
gpt4 key购买 nike

我正在尝试创建一个仅包含唯一值的列表。

String[] arr = {"5", "5", "7", "6", "7", "8", "0"};
List<String> uniqueList = new ArrayList<String>(new HashSet<String>( Arrays.asList(arr) ));
System.out.println( uniqueList );

我期望的输出是:6,8,0。所以,如果存在重复项,我想删除它们。 HashSet 只删除重复项,因此每个值只出现一次。但是,我想删除这两个数字,这样我最终得到一个列表,其中只有在原始列表中出现一次的数字。

最佳答案

一个解决方案是构建一个频率Map,并且只保留值等于1的键:

String[] arr = {"5", "5", "7", "6", "7", "8", "0"};

Arrays.stream(arr)
.collect(Collectors.groupingBy(Function.identity(), Collectors.counting()))
.entrySet()
.stream()
.filter(e -> e.getValue() == 1)
.map(Map.Entry::getKey)
.collect(Collectors.toList()));

List 的一个可能值是:

[0, 6, 8]

关于java - 如何在 Java 中创建唯一的值列表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53235322/

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