SortedList, который поддерживает порядок как SortedSet, но также допускает дублирование элементов - PullRequest
1 голос
/ 22 октября 2019

Я хочу заказать список каждый раз, когда добавляется новый элемент. Мой подход состоит в том, чтобы переопределить метод 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 и сравнивает каждый раз, когда добавляется элемент. Я думаю, что это лучше

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...