[英]Choose the right data structure for my algorithm in java
今天,我需要為我在Java中的需求選擇最有效的數據結構。 基本上我有一個算法,它具有一組<Integer, Object>
。
<Integer, Object>
我需要獲取Integer小於x.Integer的y元素。 由於第二點與算法有關,因此您選擇在Java中使用哪種數據結構?
您需要一個NavigableMap
例如TreeMap
或ConcurrentSkipListMap
注意: TreeMap
不是線程安全的,但是如果您在TreeMap的本地副本中收集每個線程的數據並在完成后合並結果,則可能會更有效。 也就是說,您可以降低競爭。
注意2:您只需要一個TreeMap
執行less than
比較。 進一步的改進可能是使用HashMap
收集每個線程中的數據,然后將結果合並到TreeMap
以執行搜索。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.