gpt4 book ai didi

java - 从 Java 数组中删除重复值的最优雅方法是什么

转载 作者:塔克拉玛干 更新时间:2023-11-03 05:28:35 32 4
gpt4 key购买 nike

我正在尝试获取一个数组,检查是否有任何重复项,然后删除该字母的所有实例,我目前尝试使用的方法非常难看

例子;

In: ABBCCDE
Out: ADE

或者

In: BCACDF
Out: BADF

我目前正在使用两个 for 循环来查找被骗者,将那个被骗者的 Char[] 添加到一个 OTHER 数组,然后再循环 2 个 for 循环,从我的 ErrorArray 中删除字符.

最佳答案

这可能是一个解决方案:

public static void main(String[] args) {
char[] arr = { 'A', 'B', 'B', 'C', 'C', 'D', 'E' };
Set<Character> in = new HashSet<>();
Set<Character> dupe = new HashSet<>();
for (char c : arr) {
if (!dupe.contains(c)) {
if (in.contains(c)) {
dupe.add(c);
in.remove(c);
} else {
in.add(c);
}
}
}
char[] arrR = new char[in.size()];
int i = 0;
for (char c : in) {
arrR[i++] = c;
}
for (char c : arrR) {
System.out.println(c);
}
}

关于java - 从 Java 数组中删除重复值的最优雅方法是什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12719460/

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