私はオブジェクトのコレクションを持っています。O
から、2つのフィーチャ(例えば、O.name
とO.value
)の(不変の)マップを作成します。Xtendのペアのコレクションから不変のマップを作成する
私の最善の解決策は、これまで
newHashMap(o.map[it.name -> it.value])
である。しかし、これは私が欲しいものacuallyされていないHashMap
新をインスタンス化し、初期化します。しかし、これはO.value
からO
をマップ - 代わりに私が同様に何
o.toInvertedMap[value]
戻り、不要なインスタンス化せずに不変のマップをしたいです。
Xtendライブラリに、私が望むものを実現する方法がありますか?
注:私は実際に私のEMF EObject
秒間属性名と値のマップを取得したい、上記の私の一般的な質問にいくつかのコンテキストを追加します。
newHashMap(eObject.eClass.EAttributes.map[it.name -> eObject.eGet(it).toString])
編集:
私はこれを見つけました:
newImmutableMap(o.map[it.name -> it.value])
私は欲しいです。これはそれを書くための「最良の」方法ですか?
'o.map [名 - >値]' 'リスト>'を生み出します。私が見る限りでは、これには拡張メソッド 'toMap'や' toImmutableMap'はありません。 ( 'toMap(computeKeysFunction)'がありますが、ペアのリストをマップに変換することはできません。 –