You have an ArrayList with duplicates, and you need to remove them
Create a HashSet with the ArrayList as the constructor argument:
HashSet hashSet = new HashSet(myArrayList);
If the order is important, use a LinkedHashSet:
LinkedHashSet linkedHashSet = new LinkedHashSet(myArrayList);
Use the following method to remove duplcates:
static ArrayList deDupKeepingFirst(ArrayList withDups,
Comparator comparator,boolean presorted) {
if (!presorted) {
Collections.sort(withDups, comparator);
}
int size = withDups.size();
ArrayList result = new ArrayList(size);
if (size <= 1) {
if (size == 1) {
result.add(withDups.get(0));
}
return result;
}
Object prev = withDups.get(0);
result.add(prev);
for (int i = 1; i < size; i++) {
Object o = withDups.get(i);
if (comparator.compare(o, prev) != 0) {
result.add(o);
prev = o;
}
else
System.out.println(o.toString());
}
return result;
}
private static class StringComp implements Comparator
{
public int compare(Object o1, Object o2)
{
return o1.toString().compareToIgnoreCase((o2).toString());
}
}