如何在TreeMap中比较两个值?

时间:2018-08-07 09:42:43

标签: java hashmap treemap

我有一个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

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