2010-11-22 16 views
2

所以我试图跟踪键盘上的每个键被按下多少次,所以我需要类似于由变量排序的TreeMap。任何人都知道一个好的数据结构来处理这个问题?在单个有序的数据结构中保留多个计数器整数及其各自的对象?

+0

你是什么意思命令?您需要指定您在此处讨论的订单类型。 – ColinD 2010-11-22 01:22:45

+0

可以说它是一个TreeMap 。它将按值从高到低排序,而不是按键。 – 2010-11-22 16:54:30

+0

似乎与[此](http://stackoverflow.com/questions/109383/how-to-sort-a-mapkey-value-on-the-values-in-java)。 – Dmitri 2010-11-22 00:42:47

回答

1

为什么不使用TreeMap?它有能力使用Comparator对其元素进行排序。你可以定义一个实现Comparator的类,它将确定两个char中的哪一个比另一个“更大”,从而提供排序的手段。我认为String有一个方法来做到这一点;您的Comparator只需要将char的值转换为String,然后返回值String.compare

+0

我试过这个,但是当我的TreeSet得到两个对象进行比较时,我得到了一个N​​ullPointerException – 2010-11-22 03:55:11

+0

我想通了,为什么Java不通过引用传递TreeMaps,所以比较内部的地图与我的主代码中的地图不一样。 – 2010-11-22 16:54:08

1

为什么不创建一个int数组,其中键值对应于数组索引?只要你不支持超出例如标准的ASCII,这应该是合理的。

+0

这不会被订购。我可能会为此做一个方法,但我想看看是否有一个更简单的方法第一个 – 2010-11-22 00:50:54

+1

@Rahat你想要命令什么?我可能误解了... – Armand 2010-11-22 00:57:45

+0

可以说它是一个TreeMap 。它将按值从高到低排序,而不是按键。 – 2010-11-22 16:52:54

相关问题