import collection.
mutable.
ListBuffer
// var data : Map[String,ListBuffer[(String,Long)]] = Map()
val data
= collection.
mutable.
Map[String, ListBuffer
[(String, Long
)]]()
def addData
(key
: String, message
: String
) : Unit
= { val newTuple
= (message, System.
currentTimeMillis()) val optionalOldValue
= data.
get(key
)
case Some
(olderBufferList
) => olderBufferList +
= newTuple
.put(key, ListBuffer[(String, Long)](newTuple))
}
}
}
MapUtils.addData("123", "message 1")
MapUtils.addData("456", "message 2")
println(MapUtils.data)
// Map(456 -> ListBuffer((message 2,1472925061065)), 123 -> ListBuffer((message 1,1472925060926)))
}
aW1wb3J0IGNvbGxlY3Rpb24ubXV0YWJsZS5MaXN0QnVmZmVyCgpvYmplY3QgTWFwVXRpbHMgewogICAgLy8gdmFyIGRhdGEgOiBNYXBbU3RyaW5nLExpc3RCdWZmZXJbKFN0cmluZyxMb25nKV1dID0gTWFwKCkKICAgIHZhbCBkYXRhID0gY29sbGVjdGlvbi5tdXRhYmxlLk1hcFtTdHJpbmcsIExpc3RCdWZmZXJbKFN0cmluZywgTG9uZyldXSgpCgogICAgZGVmIGFkZERhdGEoa2V5IDogU3RyaW5nLCBtZXNzYWdlIDogU3RyaW5nKSA6IFVuaXQgPSB7CiAgICAgICAgdmFsIG5ld1R1cGxlID0gKG1lc3NhZ2UsIFN5c3RlbS5jdXJyZW50VGltZU1pbGxpcygpKQogICAgICAgIHZhbCBvcHRpb25hbE9sZFZhbHVlID0gZGF0YS5nZXQoa2V5KQoKICAgICAgICBvcHRpb25hbE9sZFZhbHVlIG1hdGNoIHsKICAgICAgICAgICAgY2FzZSBTb21lKG9sZGVyQnVmZmVyTGlzdCkgPT4gb2xkZXJCdWZmZXJMaXN0ICs9IG5ld1R1cGxlCiAgICAgICAgICAgIGNhc2UgTm9uZSA9PiBkYXRhCiAgICAgICAgICAgICAgICAucHV0KGtleSwgTGlzdEJ1ZmZlclsoU3RyaW5nLCBMb25nKV0obmV3VHVwbGUpKQogICAgICAgIH0KICAgIH0KfQoKb2JqZWN0IE1haW4gZXh0ZW5kcyBBcHAgewogIE1hcFV0aWxzLmFkZERhdGEoIjEyMyIsICJtZXNzYWdlIDEiKQogIE1hcFV0aWxzLmFkZERhdGEoIjQ1NiIsICJtZXNzYWdlIDIiKQoKICBwcmludGxuKE1hcFV0aWxzLmRhdGEpCiAgLy8gTWFwKDQ1NiAtPiBMaXN0QnVmZmVyKChtZXNzYWdlIDIsMTQ3MjkyNTA2MTA2NSkpLCAxMjMgLT4gTGlzdEJ1ZmZlcigobWVzc2FnZSAxLDE0NzI5MjUwNjA5MjYpKSkKfQ==