Это так просто, просто создайте метод для оценки набора, если он имеет значение, которое необходимо добавить, если
удалите его, а затем добавьте, если не просто добавьте.
Это метод.
package exercise.setInsertionOrder;
import java.util.LinkedHashSet;
import java.util.Set;
public class SetInsertionOrder {
public static void main(String[] args) {
Set<Integer> s = new LinkedHashSet<>();
/*s.add(1);
s.add(2);
s.add(3);
s.add(1);*/
addByJudgeValueIsAdded(s, 1);
addByJudgeValueIsAdded(s, 2);
addByJudgeValueIsAdded(s, 3);
addByJudgeValueIsAdded(s, 1);
System.out.println(s);
}
public static <T> void addByJudgeValueIsAdded(Set<T> set,T t){
if(set.contains(t)){
set.remove(t);
set.add(t);
}else{
set.add(t);
}
}
}
Это результат.
[2, 3, 1]