【发布时间】:2015-07-02 14:20:24
【问题描述】:
我有一个List<A>。让我们称之为newList。现在类A 有两个属性id 和weight。现在newList 包含A 类型的各种条目。我想要的是一个包含 id->weight 的 Map ,以便映射特定 id 的最重(我指的是具有最高权重值的那个)实例。
Example say the List contains the following objects:
obj1: id=1 weight=5
obj2: id=1 weight=10
obj3: id=1 weight=12
obj4: id=2 weight=6
obj5: id=2 weight=7
地图应该是
id:1->weight:12
id:2->weight:7
我目前正在做的是逐个迭代列表并检查给定的键(id)什么是已经存在的值(权重),如果我的当前值更大,则覆盖。虽然这很好。我在想可能有一些更优雅的列表理解我可以尝试使用番石榴。有什么帮助吗?
【问题讨论】:
-
你可以使用 Java 8 吗?使用番石榴可能会更难一些。
标签: java list dictionary guava list-comprehension