Использует ли ListView произвольный доступ - PullRequest
0 голосов
/ 06 апреля 2020

У меня есть коллекция, которую я хочу удалить с помощью observableList.remove (obj), а не по индексу и добавить в начале, поэтому я подумал, почему бы просто не использовать связанный список. Я обнаружил, что могу реализовать свой собственный наблюдаемый список и уведомлять с помощью методов добавления и удаления { ссылка }:

public class ObservableList implements List<T> {
  private List<Listener> listeners = new ArrayList<Listener>();
  // usual methods for adding/removing listeners

  private List<T> list;
  public ObservableList(List<T> list) {
    this.list = list;
  }

  // implement methods from List and delegate to the internal list
  // send notifications to listeners for add/remove operations

  public boolean add(T item) {
    fireEvent(Type.ADD, item);  // like that
    return list.add(item);      // delegate to the internal list
  }
}

Но я не уверен, что ListView использует произвольный доступ под капотом когда я удаляю элемент из середины с помощью observable.remove (obj), и он переупорядочивает вид.

Так я получу повышение производительности, если я реализую наблюдаемый связанный список, потому что у меня много вставок в начале, или будет хуже, потому что ListView выигрывает от произвольного доступа к ArrayList?

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