In: Computer Science
Java
Write a method that removes duplicates from an array of strings and returns a new array, free of any duplicate strings.
import java.util.ArrayList;
import java.util.Arrays;
import java.util.LinkedHashSet;
public class Main {
public static String[] remove_duplicates(String[] courses){
/*
* convert array to list and then add all
* elements to LinkedHashSet. LinkedHashSet
* will automatically remove all duplicate elements.
*/
LinkedHashSet<String> linkedhashset =
new LinkedHashSet<String>(Arrays.asList(courses));
String[] newArray = linkedhashset.toArray(new String[ linkedhashset.size() ]);
return newArray;
}
public static void main(String[] args) {
//original array
String[] courses = {
"c++",
"c",
"java",
"c", //duplicate
"python",
"java" //duplicate
};
System.out.print(" original array : ");
for(int i=0;i<courses.length;i++){
System.out.print(courses[i]+",");
}
String[] newArray=new String[courses.length];
newArray=remove_duplicates(courses);
System.out.println();
System.out.print("array after removing duplicates : ");
for(int i=0;i<newArray.length;i++){
System.out.print(newArray[i]+",");
}
}
}
.........................