Java / Using String
How do I remove duplicate elements from a String Array in Java?
Using Java Collection framework API, the duplicate elements in a string array can be removed easily by converting the string array to List, creating a HashSet from the List that removes the duplicates and converting set to String array back. See the example below.
String[] data = { "a", "c", "b", "d","a", "c", "b", "d"}; System.out.println("Actual array: " + Arrays.toString(data)); List<String> strList = Arrays.asList(data); Set<String> strSet = new HashSet<String>(strList); String[] result = new String[strSet.size()]; strSet.toArray(result); System.out.println("Array without duplicates: "); for (String s : result) { System.out.print(s + ", "); }
The above program can be shortened further as shown below.
String[] data = { "a", "c", "b", "d", "a", "c", "b", "d" }; data = new HashSet<String>(Arrays.asList(data)).toArray(new String[0]); for (String s : data) { System.out.print(s + ", "); }
More Related questions...