Abstract: You can instantiate java.util.AbstractMap.SimpleEntry
instead of javafx.util.Pair
, even in OpenJDK or Java7 (or lesser).
- 競技プログラミングではときどきキーと値の組、すなわちペアを使いたいことがある。
- スクリプト言語では配列に複数の型の値を入れられる。
- C++では
std::pair
、C#ではSystem.Collections.Generic.KeyValuePair
やSystem.Tuple
、CrystalではTuple
といったように、コンパイル言語ではペアのサポートがある。 - 一方、Javaにはペアのサポートがない。
- Java8にはjavafx.util.Pairというクラスが導入されたが、OpenJDKには導入されていない。
- 余談: yukicoderでは私の答案が一度ACになったものの、Sun JavaからOpenJDKに変更されたためCEになってしまった。
- http://yukicoder.me/submissions/19483
- 同じインターフェースを持つものに
java.util.Map.Entry
があるが、これはインスタンス化することができない。 - これについて調べたところ、
java.util.AbstractMap.SimpleEntry
というクラスを用いれば良いことがわかった。- http://stackoverflow.com/questions/3110547/java-how-to-create-new-entry-key-value
- 上記yukicoderの答案も無事に修正することが出来た。
- http://yukicoder.me/submissions/144818