简体   繁体   English

Java如何对多图进行排序?

[英]Java how to sort multimap vs?

I use Guava multimap to store data from a textfile. 我使用番石榴多图来存储文本文件中的数据。 The textfile data format is like: 文本文件数据格式如下:

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

First column is the key and second is the value. 第一列是键,第二列是值。 I want to sort the score(value) from highest to lowest, but have no idea how to sort a multimap.. or is there a better storage to store that kind of data? 我想对得分(值)从最高到最低进行排序,但不知道如何对多图进行排序..还是有更好的存储方式来存储这种数据?

What other thing I thought is making two arraylist, one for name and another for scores, though 我还想做另外两件事,一个是名字,另一个是分数

I don't know it is possible to link two lists. 我不知道可以链接两个列表。

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

p1 index directing 10 and 20. Is this kind of thing possible? 指向10和20的p1索引。这可能吗?

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. 另一个选择可能是创建TreeMultimap并使用Ordering.arbitrary()作为值的比较器。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM