4
これは初心者のスカラーの質問です。私はgetName()
とgetYearOfBirth()
メソッドを持つPersonオブジェクトを持つ人のリストを持っています。 groupByを使用してPersonオブジェクトをグループ化していますが、将来はPersonが多くの追加フィールドを持つため、 の名前をマップに入れたいだけです。年が鍵になるでしょう。groupbyを使用してScalaのマップ値のオブジェクトフィールドを選択する方法
val people = List(
Person("Tom", 1985),
Person("Abigail", 1987),
Person("Joyce", 1984),
Person("James", 1987),
Person("Scott", 1985),
Person("Ruth", 1984)
)
var birthdayMap = people.groupBy(x=> x.getYearOfBirth()) // map to getName() ?
パーフェクト、vielenじめじめ。私はscalaj-collectionを使ってMapをjava.util.Mapとして返しています。ただし、キー値はscala.collection.mutable.Bufferです。 Javaからこのバッファ内の個々の名前にアクセスするにはどうすればよいですか? – Reimeus
@Reimeus私はあなたの質問をよく理解していません。しかし、Javaからアクセスすると、 'collection.JavaConversions.bufferAsJavaList'でヒントを得ることができます。 – elbowich
ありがとう、私はScalaヘルパーオブジェクトでJavaレイヤーに渡すのではなく、すべてのコレクションの反復処理を行う方がクリーンであると判断しました。 – Reimeus