Java : AbstractMap.SimpleImmutableEntry - API使用例
AbstractMap.SimpleImmutableEntry (Java SE 20 & JDK 20) の使用例まとめです。
だいたいのメソッドを網羅済みです。
API仕様書のおともにどうぞ。
概要
AbstractMap.SimpleImmutableEntry クラスは、値を変更できない(不変な) Map.Entry インタフェースの実装です。
インスタンスの生成には、このクラスを直接 new せずに、代わりに Map.entry メソッドを使うのが便利です。
final var entry1 = Map.entry("a", 10);
System.out.println(entry1); // a=10
final var entry2 = new AbstractMap.SimpleImmutableEntry<>("b", 20);
System.out.println(entry2); // b=20
final var entry3 = new AbstractMap.SimpleEntry<>("c", 30);
System.out.println(entry3); // c=30
final var map1 = Map.ofEntries(entry1, entry2, entry3);
System.out.println(map1); // {a=10, b=20, c=30}
entry3.setValue(999);
System.out.println(entry3); // c=999
final var map2 = Map.ofEntries(entry1, entry2, entry3);
System.out.println(map2); // {a=10, b=20, c=999}
コンストラクタ
SimpleImmutableEntry (Map.Entry<? extends K,? extends V> entry)
final var entry1 = Map.entry("a", 10);
System.out.println(entry1); // a=10
final var entry2 = new AbstractMap.SimpleImmutableEntry<>(entry1);
System.out.println(entry2); // a=10
SimpleImmutableEntry (K key, V value)
final var entry1 = new AbstractMap.SimpleImmutableEntry<>("a", 10);
System.out.println(entry1); // a=10
final var entry2 = new AbstractMap.SimpleImmutableEntry<>("b", 20);
System.out.println(entry2); // b=20
メソッド
boolean equals (Object o)
final var entry1 = new AbstractMap.SimpleImmutableEntry<>("a", 10);
final var entry2 = new AbstractMap.SimpleImmutableEntry<>("a", 10);
System.out.println(entry1.equals(entry2)); // true
final var entry1 = new AbstractMap.SimpleImmutableEntry<>("a", 10);
final var entry2 = new AbstractMap.SimpleImmutableEntry<>("a", 20);
final var entry3 = new AbstractMap.SimpleImmutableEntry<>("b", 20);
System.out.println(entry1.equals(entry2)); // false
System.out.println(entry1.equals(entry3)); // false
System.out.println(entry2.equals(entry3)); // false
K getKey ()
final var entry = new AbstractMap.SimpleImmutableEntry<>("a", 10);
System.out.println(entry); // a=10
System.out.println(entry.getKey()); // a
System.out.println(entry.getValue()); // 10
try {
final var ret = entry.setValue(999);
} catch (UnsupportedOperationException e) {
System.out.println("UnsupportedOperationException!");
}
// 結果
// ↓
//UnsupportedOperationException!
V getValue ()
このメソッドの使用例は、getKey() にまとめて記載しました。
そちらのAPI使用例をご参照ください。
int hashCode ()
final var entry1 = new AbstractMap.SimpleImmutableEntry<>("a", 10);
System.out.println(entry1.hashCode()); // 107
final var entry2 = new AbstractMap.SimpleImmutableEntry<>("a", 20);
System.out.println(entry2.hashCode()); // 117
final var entry3 = new AbstractMap.SimpleImmutableEntry<>("b", 20);
System.out.println(entry3.hashCode()); // 118
V setValue (V value)
このメソッドの使用例は、getKey() にまとめて記載しました。
そちらのAPI使用例をご参照ください。
String toString ()
final var entry1 = new AbstractMap.SimpleImmutableEntry<>("a", 10);
final var str1 = entry1.toString();
System.out.println(str1); // a=10
final var entry2 = new AbstractMap.SimpleImmutableEntry<>("b", 20);
final var str2 = entry2.toString();
System.out.println(str2); // b=20
関連記事
- API 使用例
- Collection (コレクション)
- Collections (コレクション操作)
- Comparable
- Comparator
- Iterator
- List (リスト)
- Map (マップ)
- Map.Entry (キーと値のペア)
- Queue (キュー)
- AbstractQueue
- ArrayBlockingQueue (ブロッキング・配列キュー)
- ArrayDeque (両端キュー)
- BlockingDeque (ブロッキング・両端キュー)
- BlockingQueue (ブロッキング・キュー)
- ConcurrentLinkedDeque (並列処理用・両端キュー)
- ConcurrentLinkedQueue (並列処理用キュー)
- Deque (両端キュー)
- LinkedBlockingDeque (ブロッキング・リンク両端キュー)
- LinkedBlockingQueue (ブロッキング・リンクキュー)
- LinkedList (二重リンク・リスト)
- PriorityBlockingQueue (ブロッキング・優先度付きキュー)
- PriorityQueue (優先度付きキュー)
- RandomAccess
- Set (セット)
- Spliterator