Мне нужно провести большое количество
элементы (500k или около того) в списке или
установить мне нужно сделать высокую производительность
обход, добавление и удаление.
...
Это будет сделано в многопоточном
окружающая среда
ConcrrentSkipListMap - это не список, но семантика списка практически бесполезна в параллельной среде.
Он будет иметь элементы, отсортированные в древовидной структуре и недоступные для хеширования, поэтому вам нужно некоторое естественное упорядочение (или внешнее через компаратор)
Если вам нужно только добавить / удалить в конце очереди - ConcurrentLinkedQueue .
Синхронизированные коллекции не подходят для многопоточной среды, если вы ожидаете даже умеренной конкуренции. Они также требуют полного удержания замка в течение всей операции перемещения. Я бы посоветовал не использовать ConcurrentHashMap.
В конце: если вы собираетесь использовать настоящий многопроцессорный процессор, например 64+, ожидаете высокой конкуренции и не хотите естественного упорядочения, перейдите по ссылке: http://sourceforge.net/projects/high-scale-lib