How do I put only unique values into an array?

arrays, duplicates, java

Solution

Use `Set`. Array is the wrong data type for this problem.

It contains a `.toArray()` method that will give you back an array after you've constructed the set, if that is what you require.

Problem

``` 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]); } } } } ``` I have an array named `strings2` of elements each being: `1, 2, 1, 3, 2, 3, 2, 4, 3, 2, 5, 5, 2,` and my code is supposed to go through the array and if it matches for example any of the element that is in the array called `strings`: `{1,2,3,4,5}` with that of `strings2` for each even element. It checks the `i+1` element of the array above to see if the element is already added to the marked array, if it isn't then it adds it. However I am seeing duplicate values even with ``` if (!node_marked_array.get(i).equals(strings2[a + 1])) ``` output: `1 2 3 3 4 2 5 2 5 5`

Original source