2010-11-09 61 views
1

我是一個新手。我有一個問題,關於哪個Java集合(沒有Hibernate,數據庫等)最適合用來實現多對多的對稱關係。具有值V =密鑰集的HashMap?但隨後刪除,添加操作變得非常緩慢......有什麼建議?一個多對多關係的數據結構(人朋友問題)

謝謝。

回答

2

你可以做到的一種方法是使用兩個地圖。一個Map<Object1, Object2>,和一個Map<Object2, Object1>

您可以將每一對相關對象添加到這兩個地圖。通過這種方式,您可以非常快速地在兩種方式中查找關係。當關系被移除時,您還需要從兩個地圖中刪除對。

刪除關係變得有點慢,但添加和查找是恆定時間。