Я построение дерева пагинации в JSF1.2 и RichFaces 3.3.2, потому что есть много узлов дерева (что-то вроде 80K), и это медленно ..Java Производительность: Карта против Списка
Так , в качестве первой попытки я создаю HashMap со страницей и списком узлов страницы.
Но, производительность, не достаточно хорошо ...
Так мне было интересно, если что-то быстрее, чем HashMap, может быть список списков или что-то.
У кого-то есть опыт? Что я могу сделать?
Заранее спасибо.
EDIT.
Большая проблема заключается в том, что я должен проверять разрешения пользователей в дочерних элементах дерева. Я знал, что это большая проблема: эта проверка медленна, потому что я должен заходить в узлы, у меня нет хорошего способа узнать, имеет ли пользователь разрешение на узле 10-го уровня без повторения всех них. Плюс к этому, те же три использовали в других местах ... Основная причина, почему я делал эту разбивку на страницы, заключается в том, что клиентская сторона будет намного медленнее из-за структуры, созданной richfaces, много tr и td's, браузер просто сходит с ума от этого. Итак, к сожалению, я должен загружать все узлы и разбивать на страницы только на стороне клиента, и мне нужно знать, что из них быстрее итерации ...
Извините, мой плохой английский.
Возможно, дубликат на http://stackoverflow.com/questions/1518103/hashmap-vs-arraylist-performance-am-i-correct – MJM
Это не проблема, какая коллекция вы используете; неправильно загружать все данные в одну коллекцию, вся идея, стоящая за страницей, заключается только в загрузке соответствующего подмножества данных, которые вам нужны в это время. – Viruzzo
Это зависит от того, как вы используете эти коллекции и что происходит медленно. Можете ли вы предоставить более подробную информацию о том, как реализовать эту разбивку на страницы. Кроме того, вы прокомментировали свой код? Если да, то какая была медленная часть, доступ к/заполнение структуры, загрузка данных или выражений на странице? – Thomas