広告

Java : AbstractMap.SimpleEntry - API使用例

AbstractMap.SimpleEntry (Java SE 20 & JDK 20) の使用例まとめです。
だいたいのメソッドを網羅済みです。
API仕様書のおともにどうぞ。


概要

キーと値を保持するエントリ。 値は、setValueメソッドを使用して変更できます。 このクラスのインスタンスは、マップ・エントリ・セット・ビューに関連付けられていません。

クラス構成

AbstractMap.SimpleEntry クラスは、値を変更できる 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}

コンストラクタ

SimpleEntry (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.SimpleEntry<>(entry1);
System.out.println(entry2); // a=10

SimpleEntry (K key, V value)

指定されたキーから指定された値へのマッピングを表すエントリを作成します。

final var entry1 = new AbstractMap.SimpleEntry<>("a", 10);
System.out.println(entry1); // a=10

final var entry2 = new AbstractMap.SimpleEntry<>("b", 20);
System.out.println(entry2); // b=20

メソッド

boolean equals (Object o)

指定されたオブジェクトがエントリと等しいかどうかを比較します。

final var entry1 = new AbstractMap.SimpleEntry<>("a", 10);
final var entry2 = new AbstractMap.SimpleEntry<>("a", 10);

System.out.println(entry1.equals(entry2)); // true
final var entry1 = new AbstractMap.SimpleEntry<>("a", 10);
final var entry2 = new AbstractMap.SimpleEntry<>("a", 20);
final var entry3 = new AbstractMap.SimpleEntry<>("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.SimpleEntry<>("a", 10);
System.out.println(entry); // a=10
System.out.println(entry.getKey()); // a
System.out.println(entry.getValue()); // 10

final var ret = entry.setValue(999);
System.out.println(ret); // 10

System.out.println(entry); // a=999
System.out.println(entry.getKey()); // a
System.out.println(entry.getValue()); // 999

V getValue ()

このエントリに対応する値を返します。

このメソッドの使用例は、getKey() にまとめて記載しました。
そちらのAPI使用例をご参照ください。

int hashCode ()

このマップ・エントリのハッシュ・コード値を返します。

final var entry1 = new AbstractMap.SimpleEntry<>("a", 10);
System.out.println(entry1.hashCode()); // 107

final var entry2 = new AbstractMap.SimpleEntry<>("a", 20);
System.out.println(entry2.hashCode()); // 117

final var entry3 = new AbstractMap.SimpleEntry<>("b", 20);
System.out.println(entry3.hashCode()); // 118

V setValue (V value)

エントリに対応する値を、指定された値に置き換えます。

このメソッドの使用例は、getKey() にまとめて記載しました。
そちらのAPI使用例をご参照ください。

String toString ()

このマップ・エントリの文字列表現を返します。

final var entry1 = new AbstractMap.SimpleEntry<>("a", 10);
final var str1 = entry1.toString();
System.out.println(str1); // a=10

final var entry2 = new AbstractMap.SimpleEntry<>("b", 20);
final var str2 = entry2.toString();
System.out.println(str2); // b=20

関連記事

ページの先頭へ