java - 如何只将唯一值放入数组?

标签 java arrays duplicates

node_marked_array.add(strings[0]);

for (int i = 0; i < strings.length; i++) {
    for (int a = 0; a < strings2.length; a = a + 2) {
        if (node_marked_array.get(i).equals(strings2[a])) {
            if (!node_marked_array.get(i).equals(strings2[a + 1])) {
                //    System.out.println("marked node: " + node_marked_array.get(i) + "=" + strings2[a] + ", added node " + strings2[a+1]);
                node_marked_array.add(strings2[a + 1]);
            }
        }
    }
}

我有一个名为 strings2 的数组,每个元素都是:

1, 2, 1, 3, 2, 3, 2, 4, 3, 2, 5, 5, 2,

我的代码应该遍历数组,如果它匹配例如数组中名为 strings 的任何元素:{1,2,3,4, 5}strings2 的每个偶数元素。它检查上面数组的 i+1 元素,看看该元素是否已经添加到标记的数组中,如果没有,则添加它。但是我看到重复的值,即使有

if (!node_marked_array.get(i).equals(strings2[a + 1]))

output: 1 2 3 3 4 2 5 2 5 5

最佳答案

使用Set .数组是这个问题的错误数据类型。

它包含一个 .toArray()如果您需要的话,您构建集合后返回一个数组的方法。

关于java - 如何只将唯一值放入数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13710668/

相关文章:

javascript - 改进了在 javascript 中构建嵌套唯一值数组的方法

c++ - 我的重复检查代码中的错误到底在哪里?

java - 如何用reduceByKey替换groupByKey以在Spark java中作为Iterable值返回?

java - 为什么我的 java 数组不允许用户输入每个值?

php - 引用 - 这个错误在 PHP 中是什么意思?

mysql - 防止MySQL中的重复输入(例如,当快速调用多次插入请求时)

python - 具有重复值的 Sqlite 列

java - 打印输入 Java 的最后几行

java - 在多个地方配置 Spring Security

java - 如何获取 Liferay 上的门户首选项设置