我有一个TreeMap,我想比较其中的new Indexable.Builder("Sticker")
.setName("Bye")
// add url for sticker asset
.setImage("http://www.snoopysticker.com?id=1234")
// see: Support links to your app content section
.setUrl("http://sticker/canonical/image/bye")
// Set the accessibility label for the sticker.
.setDescription("A sticker for Bye")
// Add search keywords.
.put("keywords", "bye", "snoopy", "see ya", "good bye")
.put("isPartOf",
new Indexable.Builder("StickerPack")
.setName("Snoopy Pack")
.build())
.build())};
和i
值。我怎样才能做到这一点。我知道TreeMap是根据其键进行排序的,但是我想比较这些值并且不能使用排序,因为这样会丢失原始形式。我想要这样的东西,但是在TreeMap-
i+1
答案 0 :(得分:3)
好吧,你可以那样做:
TreeMap<Integer,Integer> tree=new TreeMap<>();
tree.put(1,5);
tree.put(2,6);
tree.put(3,4);
tree.put(4,4);
Entry<Integer,Integer> entry=tree.firstEntry();
int c=0;
while(tree.higherEntry(entry.getKey())!=null) {
if(entry.getValue()>tree.higherEntry(entry.getKey()).getValue())
c++;
entry=tree.higherEntry(entry.getKey());
}
使用HigherEntry,higherKey等。
在您的示例中,由于a [i + 1],您会得到一个ArrayIndexOutOFBound