Код: Выделить всё
class TestClass{
private final Set setOfThingIds;
private final List listOfThings;
private final Set linkedHashSetOfThings;
// ... constructor instantiates empty objects
void addThingsViaList(List things){
for(var thing: things){
var id = getThingId(thing);
if(setOfThingIds.contains(id)) continue;
setOfThingIds.add(id);
listOfThings.add(thing);
}
}
void addThingsViaSet(List things){
for(var thing: things){
linkedHashSetOfThings.add(thing); // thingId calc added to Thing's equals method
}
}
}
Подробнее здесь: https://stackoverflow.com/questions/797 ... e-and-orde