SortedMap具有重复键

时间:2015-07-14 06:57:49

标签: java processing sortedmap

我需要根据类的方法返回的float对自定义类(Face)的一些对象进行排序。

我决定使用有序地图,但我意识到Collection不会返回重复的键。

这是我的代码:

sorted.clear();
for(Face f : face) {
  sorted.put(f.getFarthestDepth(), f);
}
//Code for printing entries of the sortedTree
for(Map.Entry entry : sorted.entrySet())
  print(entry.getKey() + " ");
println();

在我的渲染方法中我有:

pushMatrix();
translate(center.x, center.y);
for(Map.Entry entry : sorted.entrySet()) {
  Face f = (Face)entry.getValue();
  beginShape();
  fill(255);
  for (Vertex v : f.vertex) {
    vertex(v.x, v.y);
  }
  endShape(CLOSE);
}  
popMatrix();

当我打印树形图的条目时,我只得到2个值,我需要得到6个相同的键值。

我正在使用Processing,但代码几乎与java相似。

如何获取所有Face对象?

1 个答案:

答案 0 :(得分:0)

将Guava的TreeMultiMap与自定义比较器一起使用。它保留重复键的对象列表。