Я хочу заказать список каждый раз, когда добавляется новый элемент. Мой подход состоит в том, чтобы переопределить метод add и добавить сортировку моего списка. Но я думаю, что это выглядит смешно. Это лучший способ сделать это?
public class Test extends TestCase {
List<String> superlist = new ArrayList<String>() {
private static final long serialVersionUID = 1L;
public boolean add(String e) {
boolean erg = super.add(e);
Comparator<String> comp = (o1, o2) -> {
return o1.compareTo(o2);
};
Collections.sort(this, comp);
return erg;
};
};
public void test() {
superlist.add("A");
superlist.add("Z");
superlist.add("D");
superlist.add("X");
superlist.add("C");
System.out.println(superlist); // [A, C, D, X, Z]
}
}
Обновление Вы можете написать класс, который расширяет ArrayList и сравнивает каждый раз, когда добавляется элемент. Я думаю, что это лучше