1

我使用 Guava multimap 来存储来自文本文件的数据。文本文件数据格式如下:

p1 10
p2 30
p3 40
p1 20
p2 50
p3 60
..
..

第一列是键,第二列是值。我想从最高到最低对分数(值)进行排序,但不知道如何对多图进行排序..或者是否有更好的存储来存储这种数据?

我想到的其他事情是制作两个数组列表,一个用于名称,另一个用于分数,不过

我不知道是否可以链接两个列表。

list1 = {p1,p2,p3}
list2 = {10, 20, 30, 40, 50, 60}

p1索引指向10和20。这种事情可能吗?

4

1 回答 1

1

You can try something like this:-

 public static ImmutableMultimap<Integer, MyObject> indexOnScore(Iterable<MyObject> i) {
  List<MyObject> sorted = Ordering.natural().onResultOf(myObjectToScore())
  .sortedCopy(i);
   return Multimaps.index(sorted, myObjectToScore());
}

Another option might be to create a TreeMultimap and use Ordering.arbitrary() as the Comparator for the values.

于 2012-11-24T12:47:10.407 回答