2009-08-21 148 views
2

Greetings,Java數據結構

我一直在研究Java的嵌入式版本,其中包含在API中的複雜結構的高度是向量或隊列。這通常意味着在需要時從頭開始寫結構。

我現在要回到生活的土地上,我將充分利用真正的Java版本與所有的花裏胡哨。然而這提出了一個新問題,API非常大。

我想知道是否有人可以打電話給我關於在過去的2年中已經存在的基本數據結構。我在談論可以處理併發和結構的列表,地圖,樹等結構。

從我記得有一個併發庫,但是一些標準的集合結構也具有併發方面。

回答

1

pre 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

一個你通過所有這些收集不同的開源集合 經歷這樣

番石榴庫由谷歌http://code.google.com/p/google-collections/

共享集合http://commons.apache.org/proper/commons-collections/

+0

thanx bummi,一隻新的蜜蜂... – 2014-11-01 20:41:19