this can solve the problem:
private List clearListFromDuplicateFirstName(List list1) {
Map cleanMap = new LinkedHashMap();
for (int i = 0; i < list1.size(); i++) {
cleanMap.put(list1.get(i).getFirstName(), list1.get(i));
}
List list = new ArrayList(cleanMap.values());
return list;
}