0
をカウントし、私は、現在のユーザーの位置の記録と絶えず更新mutable.HashMap[String, String]
を持っている:Scalaのマップの共同出現は
{user1 -> location1,
user2 -> location4,
user3 -> location4}
私は、ユーザーとの間の位置の共同出現箇所を追跡したい - つまり、どのように多くの各ユーザーのペアが同じ場所にいた回数。私が考えているフォーマットはmutable.HashMap[(String, String), Int]
:
{(user1, user2) -> 0,
(user1, user3) -> 0,
(user2, user3) -> 1}
ユーザ位置マップの更新は、私は、ユーザーが一緒である再検討し、共同出現箇所の彼らのランニングカウントに1を追加するたびに。
以下のコードは、{location - > Array(users)}のマップを返します。これは良い最初の手順のようです。
var users_by_location = user_locations.groupBy(_._2).mapValues{s => s.map{ case(user, location) => user}}
> {location1 -> Array(user1), location4 -> Array(user2, user3)}
私はscala 2.11.8を使用しています。