あまり使ったことないので、メソッドの宣言だけ載せておきます(一覧)。
メソッドは独断と偏見で幾つかにカテゴリー分けしてます:
- エントリーなどの取得:get() や keySet() など
- エントリーの追加:put() など
- エントリーの削除:remove() など
その他注意点
- 拡張対象のインターフェースに定義されているメソッドには @Override アノテーションを付与してます。 ただし、インターフェースのメソッドに @Override を付与すると実際にはコンパイルエラーになります。
ConcurrentMap インターフェース
package java.util.concurrent; public interface ConcurrentMap<K,V> extends Map<K,V>{ @Override int size(); @Override boolean isEmpty(); @Override boolean containsKey(Object key); @Override boolean containsValue(Object value); // ********** エントリーなどの取得 ********** @Override V get(Object key); @Override Collection<V> values(); @Override Set<K> keySet(); @Override Set<Map.Entry<K,V>> entrySet(); // ********** エントリーの追加 ********** @Override V put(K key, V value); V putIfAbsent(K key, V value); @Override void putAll(Map<? extends K, ? extends V> m); V replace(K key, V value); boolean replace(K key, V oldValue, V newValue); // ********** エントリーの削除 ********** @Override V remove(Object key); boolean remove(Object key, Object value); @Override void clear(); }
ConcurrentNavigableMap インターフェース
package java.util.concurrent; public interface ConcurrentNavigableMap<K,V> extends ConcurrentMap<K,V>, NavigableMap<K,V>{ @Override int size(); @Override boolean isEmpty(); @Override boolean containsKey(Object key); @Override boolean containsValue(Object value); @Override Comparator<? super K> comparator(); // ********** エントリーなどの取得 ********** @Override V get(Object key); @Override Collection<V> values(); @Override K firstKey(); @Override K lowerKey(K key); @Override K floorKey(K key); @Override K ceilingKey(K key); @Override K higherKey(K key); @Override K lastKey(); /** 返り値をサブタイプに再定義 */ @Override NavigableSet<K> keySet(); @Override NavigableSet<K> navigableKeySet(); @Override NavigableSet<K> descendingKeySet(); @Override Map.Entry<K,V> firstEntry(); @Override Map.Entry<K,V> lowerEntry(K key); @Override Map.Entry<K,V> floorEntry(K key); @Override Map.Entry<K,V> ceilingEntry(K key); @Override Map.Entry<K,V> higherEntry(K key); @Override Map.Entry<K,V> lastEntry(); @Override Map.Entry<K,V> pollFirstEntry(); @Override Map.Entry<K,V> pollLastEntry(); @Override Set<Map.Entry<K,V>> entrySet(); /** 返り値をサブタイプに再定義 */ @Override ConcurrentNavigableMap<K,V> descendingMap(); /** 返り値をサブタイプに再定義 */ @Override ConcurrentNavigableMap<K,V> headMap(K toKey); /** 返り値をサブタイプに再定義 */ @Override ConcurrentNavigableMap<K,V> headMap(K toKey, boolean inclusive); /** 返り値をサブタイプに再定義 */ @Override ConcurrentNavigableMap<K,V> subMap(K fromKey, K toKey); /** 返り値をサブタイプに再定義 */ @Override ConcurrentNavigableMap<K,V> subMap(K fromKey, boolean fromInclusive, K toKey, boolean toInclusive); /** 返り値をサブタイプに再定義 */ @Override ConcurrentNavigableMap<K,V> tailMap(K fromKey); /** 返り値をサブタイプに再定義 */ @Override ConcurrentNavigableMap<K,V> tailMap(K fromKey, boolean inclusive); // ********** エントリーの追加 ********** @Override V put(K key, V value); @Override V putIfAbsent(K key, V value); @Override void putAll(Map<? extends K,? extends V> m); @Override V replace(K key, V value); @Override boolean replace(K key, V oldValue, V newValue); // ********** エントリーの削除 ********** @Override V remove(Object key); @Overrideboolean remove(Object key, Object value); @Override void clear(); }