TreeMapは、
HashMap
クラスに非常によく似たキーと値のペアを格納するために使用されます。違いは、TreeMapがキーと値のペアをソートされた順序で格納する効率的な方法を提供することです。それは赤黒木のNavigableMap
実現に基づいています。
public class TreeMap<K,V>
extends AbstractMap<K,V>
implements NavigableMap<K,V>, Cloneable, java.io.Serializable
1つの一般的に使用される方法
-
void clear():マップからすべてのキーと値のペアを削除します。
-
int size():このマップに存在するキーと値のペアの数を返します。
-
boolean containsKey(Object key):このマップに指定されたキーのマップが含まれている場合、それが返され
true
ます。 -
boolean containsValue(Object value):このマップが1つ以上のキーを指定された値にマップする場合は、それを返します
true
。 -
Set <Map.Entry <K、V >> entrySet():このマップに含まれるマップの
Set
ビューを返します。多くの場合、トラバーサルに使用されます。 -
V get(Object key):指定されたキーによってマップされた値に戻り
null
ます。そうでない場合は、を返します。 -
Set KeySet():このマップに含まれるキーの
Set
ビューを返します。多くの場合、マップ内のキーをトラバースするために使用されます。 -
V put(K key、V value):このマップで指定された値を指定されたキーに関連付けます。つまり、キーと値のペアがマップに追加されます。
-
V remove(Object key):指定されたキーのキーと値のペアを削除します。
-
V replace(K key、V value):指定されたキーの値を置き換えます。
-
V replace(K key、V oldValue、V newValue):指定されたキーと値のペアの値を置き換えます。指定されたキーと値のペアが存在しない場合、操作は実行されません。
2つのユニークな方法
- Map.Entry <K、V>シーリングエントリ(Kキー):指定されたキー以上の最小要素を返します。そうでない場合はnullを返します。
TreeMap treeMap = new TreeMap();
treeMap.put("1", "demo1");
treeMap.put("2", "demo2");
treeMap.put("3", "demo3");
Entry entry = treeMap.ceilingEntry("2.5");
System.out.println(entry+"====="+entry.getKey()+"->"+entry.getValue());
entry = treeMap.ceilingEntry("4");
System.out.println(entry);
- Kシーリングキー(Kキー):指定されたキー以上の最小のキーを返します。そうでない場合はnullを返します。
TreeMap treeMap = new TreeMap();
treeMap.put("1", "demo1");
treeMap.put("2", "demo2");
treeMap.put("3", "demo3");
Object obj = treeMap.ceilingKey("2.5");
System.out.println(obj);
obj = treeMap.ceilingEntry("4");
System.out.println(obj);
- NavigableSetdescendingKeySet():セットのすべてのキーを逆の順序で返します
TreeMap treeMap = new TreeMap();
treeMap.put("1", "demo1");
treeMap.put("2", "demo2");
treeMap.put("3", "demo3");
Set set = treeMap.descendingKeySet();
System.out.println(set);
- NavigableMap <K、V> descendingMap():コレクションを返します。これは逆の順序です。
TreeMap treeMap = new TreeMap();
treeMap.put("1", "demo1");
treeMap.put("2", "demo2");
treeMap.put("3", "demo3");
System.out.println(treeMap);
Map map = treeMap.descendingMap();
System.out.println(map);
- Map.Entry <K、V> firstEntry():コレクション内で最小のキーを持つ要素を返します
TreeMap treeMap = new TreeMap();
treeMap.put("1", "demo1");
treeMap.put("2", "demo2");
treeMap.put("3", "demo3");
Entry entry = treeMap.firstEntry();
System.out.println(entry);
- K firstKey():セット内の最小のキーを返します
TreeMap treeMap = new TreeMap();
treeMap.put("1", "demo1");
treeMap.put("2", "demo2");
treeMap.put("3", "demo3");
Object obj = treeMap.firstKey();
System.out.println(obj);
- Map.Entry <K、V> floorEntry(K key): ceilingEntry()メソッドとは異なり、指定されたKey以下の最大の要素を返します。
TreeMap treeMap = new TreeMap();
treeMap.put("1", "demo1");
treeMap.put("2", "demo2");
treeMap.put("3", "demo3");
Entry entry = treeMap.floorEntry("2.5");
System.out.println(entry);
- K floorKey(K key):指定されたキー以下の最大のキーを返します
TreeMap treeMap = new TreeMap();
treeMap.put("1", "demo1");
treeMap.put("2", "demo2");
treeMap.put("3", "demo3");
Object obj = treeMap.floorKey("2.5");
System.out.println(obj);
- SortedMap <K、V> headMap(K Key):指定されたキーよりも小さいすべての要素を返します
TreeMap treeMap = new TreeMap();
treeMap.put("1", "demo1");
treeMap.put("2", "demo2");
treeMap.put("3", "demo3");
Map map = treeMap.headMap("2.5");
System.out.println(map);
- NavigableMap <K、V> headMap(K Key、boolean inclusive): inclusiveがtrueの場合、Keyが指定されたKey以下であるすべての要素を返します
TreeMap treeMap = new TreeMap();
treeMap.put("1", "demo1");
treeMap.put("2", "demo2");
treeMap.put("3", "demo3");
Map map = treeMap.headMap("2",true);
System.out.println(map);
map = treeMap.headMap("2",false);
System.out.println(map);
- Map.Entry <K、V> higherEntry(Kキー):指定されたキーより大きいすべての要素を返します
TreeMap treeMap = new TreeMap();
treeMap.put("1", "demo1");
treeMap.put("2", "demo2");
treeMap.put("3", "demo3");
Entry entry = treeMap.higherEntry("2.5");
System.out.println(entry);
- KhigherKey(K Key):指定されたキーより大きいすべてのキーを返します
TreeMap treeMap = new TreeMap();
treeMap.put("1", "demo1");
treeMap.put("2", "demo2");
treeMap.put("3", "demo3");
Object obj = treeMap.higherKey("2.5");
System.out.println(obj);
- Map.Entry <K、V> lastEntry():最大のキーを持つ要素を返します
TreeMap treeMap = new TreeMap();
treeMap.put("1", "demo1");
treeMap.put("2", "demo2");
treeMap.put("3", "demo3");
Entry entry = treeMap.lastEntry();
System.out.println(entry);
- K lastKey():最大のキーを返します
TreeMap treeMap = new TreeMap();
treeMap.put("1", "demo1");
treeMap.put("2", "demo2");
treeMap.put("3", "demo3");
Object obj = treeMap.lastKey();
System.out.println(obj);
- Map.Entry <K、V> lowerEntry(K Key):指定されたキーよりも小さい最大の要素を返します
TreeMap treeMap = new TreeMap();
treeMap.put("1", "demo1");
treeMap.put("2", "demo2");
treeMap.put("3", "demo3");
Entry entry = treeMap.lowerEntry("2.5");
System.out.println(entry);
-
K lowerKey(K Key):指定されたキーよりも小さい最大のキーを返します
-
Map.Entry <K、V> pollFirstEntry():最小のキーを持つ要素を削除します
TreeMap treeMap = new TreeMap();
treeMap.put("1", "demo1");
treeMap.put("2", "demo2");
treeMap.put("3", "demo3");
treeMap.pollFirstEntry();
System.out.println(treeMap);
-
Map.Entry <K、V> pollLastEntry():最大のキーを持つ要素を削除します
-
NavigableMap <K、V> subMap(K fromKey、boolean fromInclusive、K toKey、boolean toInclusive):コレクション内のfromKeyからtoKeyへのキーの要素をインターセプトするかどうかは、trueまたはfalseに依存します
TreeMap treeMap = new TreeMap();
treeMap.put("1", "demo1");
treeMap.put("2", "demo2");
treeMap.put("3", "demo3");
treeMap.put("4", "demo4");
Map map = treeMap.subMap("1",true, "4", true);
System.out.println(map);
map = treeMap.subMap("1",false, "4", true);
System.out.println(map);
map = treeMap.subMap("1",false, "4", false);
System.out.println(map);
-
SortedMap <K、V> subMap(K fromKey、K toKey):コレクション内のfromKeyからtoKeyへのKeyの要素をインターセプトします。これには、fromKeyは含まれますが、toKeyは含まれません。
-
SortedMap <K、V> tailMap(K fromKey): KeyがfromKey以上のすべての要素をインターセプトします
-
NavigableMap <K、V> tailMap(K fromKey、boolean fromInclusive):包括的がtrueの場合、KeyがfromKey以上のすべての要素をインターセプトします。それ以外の場合は、KeyがfromKeyより大きいすべての要素をインターセプトします。