У чому різниця між Multilist і Treelist?

Тип поля Treelist подібний до поля Multilist тим, що користувач вибирає нуль або більше елементів і може сортувати цей вибір, але відрізняється тим, що він відображає дерево вибору, а не плоский список.

TreeList — це дерево, яке дозволяє відносно швидко читати, вставляти, видаляти (все O(log n)). ArrayList використовує масив для зберігання даних, тому, коли ви вставляєте або видаляєте, кожен елемент у масиві потрібно зсунути вгору або вниз (O(n) у гіршому випадку).

Treelist зберігає значення в ідентифікаторах, розділених вертикальними лініями. Цей тип поля неможливо відобразити. TreelistEx: TreelistEx дуже схожий на Treelist, за винятком того, що для цього типу поля опція вибору відкриватиметься як спливаюче вікно. Цей тип поля неможливо відобразити.

Запис у інвертованому індексі має покажчик на кожен запис даних із таким значенням. Запис в багатосписковому індексі має покажчик на перший запис даних із таким значенням. Таким чином інвертований індекс може мати записи змінної довжини, тоді як багатосписковий індекс має записи фіксованої довжини.

Multilist: Тип поля Multilist дозволяє редакторам вибрати одне або кілька значень із доступних значень, які надходять із зазначеного джерела поля. Він зберігає ідентифікатори вибраних елементів.

ArrayLists і TreeMaps — це різні типи структур, призначені для різних речей. Було б корисно знати, для чого ви плануєте використовувати ці структури. Сортування ArrayList займе O(nlogn) часу (після вставлення всього), тоді як TreeMap завжди буде відсортовано.