如何仅将唯一值放入数组中?

Bub*_*ree 2 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]);
            }
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

我有一个名为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]))
Run Code Online (Sandbox Code Playgroud)

输出: 1 2 3 3 4 2 5 2 5 5

dje*_*lin 8

使用Set.Array是此问题的错误数据类型.

它包含一个.toArray()方法,可以在构造集合返回一个数组,如果这是你需要的.