Java Datastructures - PullRequest
       16

Java Datastructures

2 голосов
/ 21 августа 2009

Привет,

Я работал над встроенной версией Java, где высота сложных структур, включенных в API, была вектором или очередью. Обычно это означало написание структур с нуля, когда это необходимо.

Сейчас я возвращаюсь на землю живых, у меня будет полный доступ к настоящей версии Java со всеми прибамбасами. Это, однако, представляет новую проблему, API довольно велик.

Мне было интересно, мог бы кто-нибудь рассказать мне о существенных структурах данных, которые появились за последние 2 года. Я говорю о списках, картах, древовидных структурах и т. Д., Которые могут обрабатывать параллелизм и структуры.

Из того, что я помню, была библиотека параллелизма, однако в некоторых стандартных структурах коллекций также были заложены аспекты параллелизма.

Ответы [ 2 ]

8 голосов
/ 21 августа 2009

Начните с Следа Коллекций Java

http://java.sun.com/docs/books/tutorial/collections/index.html

Это охватит все основы.

Тогда, как только вы будете счастливы, взгляните на параллельную коллекционную тропу

http://java.sun.com/docs/books/tutorial/essential/concurrency/collections.html

Однако было бы также неплохо взглянуть на пакет Concurrency.

1 голос
/ 01 ноября 2014

до Java 1.4 у вас были Коллекции с синхронизированным способом управления потоками, затем из Java 1.5 много параллельных коллекций, где были добавлены. Использование правильной коллекции поможет вашему приложению как с точки зрения производительности, так и с меньшим использованием памяти. например.

Синхронизировано

  1. Вектор
  2. HashMap
  3. HashSet

Одновременно

  1. CopyOnwriteArrayList
  2. ConcurrentHashMap
  3. ConcurrentHashSet
  4. ArrayBlockingQueue и т.д.

Синхронизировать любую коллекцию можно, сказав объявление

Collections.synchronizedCollection(c);

Опять же, ненужное использование одновременных / синхронизированных приведет к снижению производительности вашего приложения.

ссылки предоставлены pjp gr8 http://java.sun.com/docs/books/tutorial/collections/index.html http://java.sun.com/docs/books/tutorial/essential/concurrency/collections.html

Один, через который вы проходите, проходит через всю коллекцию с открытым исходным кодом. как

библиотека гуавы от Google http://code.google.com/p/google-collections/

Коллекции общин http://commons.apache.org/proper/commons-collections/

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