【问题标题】:Java how to sort multimap vs?Java如何排序multimap vs?
【发布时间】:2012-11-24 12:43:41
【问题描述】:

我使用 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。这种事情可能吗?

【问题讨论】:

标签: java sorting arraylist multimap


【解决方案1】:

你可以试试这样的:-

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

另一种选择可能是创建TreeMultimap 并使用Ordering.arbitrary() 作为值的比较器。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-07-26
    • 2013-02-02
    • 2018-09-21
    • 2015-03-01
    • 1970-01-01
    • 2015-03-02
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多