Java にそれがないのには、何か正当な理由があるのでしょうかPair<L,R>
? この C++ 構造に相当するものは何でしょうか? 独自のものを再実装するのは避けたいです。
1.6でも同様の機能 ( ) が提供されているようですAbstractMap.SimpleEntry<K,V>
が、これはかなり複雑に見えます。
ベストアンサー1
でスレッドcomp.lang.java.help
Hunter Gratzner は、Java における構造の存在に反対するいくつかの議論をしていますPair
。主な議論は、クラスはPair
2 つの値の関係について意味を伝えない (「first」と「second」の意味をどうやって知るのか) というものです。
より良い方法は、Mike が提案したような、クラスから作成した各アプリケーションに対して非常に単純なクラスを作成することですPair
。Map.Entry
は、名前に意味が込められているペアの例です。
まとめると、私の意見では、何をすべきかについて何も教えてくれないジェネリックよりも、クラスPosition(x,y)
、クラスRange(begin,end)
、クラスを使用する方が良いと思います。Entry(key,value)
Pair(first,second)