Фильтрация List по повторяющемуся полю
У меня есть коллекция объектов. Мне нужно чтобы на выходе остались только коллекция объектов с уникальными значениями по одному полю.
я написал решение, но может есть какое то более изящное, без мапы.
вот коллекция объектов Load. Мне нужно чтобы в итоге осталась коллекция с уникальными значениями S. т.е. "1","2","3". какое значение из дубликатов останется не принципиально.
List<Load> file = new ArrayList<>(
Arrays.asList(new Load(1, "1"), new Load(2, "2"), new Load(3, "3"), new Load(4, "3"), new Load(4, "3"), new Load(6, "3")));
public void filter() {
Set<Load> fileSet = new HashSet<>(file);
Map<String, Load> keySet = new HashMap<>();
file.forEach(e -> keySet.put(e.getS(), e));
System.out.println(keySet.values());
}
}
class Load {
int i;
String s;
}