内置在Java中存储预排序键值对的方法?
我正在寻找一种方法来维护键值对的排序。它们按实际键值对之外的变量进行排序(以获得更好的UI)。我目前使用的是一个哈希表,但它不能维持排序=(内置在Java中存储预排序键值对的方法?,java,arrays,hashtable,key-value,Java,Arrays,Hashtable,Key Value,我正在寻找一种方法来维护键值对的排序。它们按实际键值对之外的变量进行排序(以获得更好的UI)。我目前使用的是一个哈希表,但它不能维持排序=( Hashtable subscriptions=getUsersSubscriptions(用户); 有什么简单的方法可以让Java存储对吗?我能想到的最好的方法是使用两个关联的ArrayList(一个是Integer类型,另一个是String类型)。有人能想出更好的方法吗?SortedMap myMap=new TreeMap(); SortedMap
Hashtable subscriptions=getUsersSubscriptions(用户);
有什么简单的方法可以让Java存储对吗?我能想到的最好的方法是使用两个关联的ArrayList(一个是Integer类型,另一个是String类型)。有人能想出更好的方法吗?SortedMap myMap=new TreeMap();
SortedMap<Integer, String> myMap = new TreeMap<Integer,String>();
如果有自定义排序,请将实例传递给的构造函数。但要小心,因为使用不符合自然整数顺序的比较器会使事情无法理解和调试。SortedMap myMap=new TreeMap();
如果您有自定义排序,请将实例传递给的构造函数。但要小心,因为使用不符合自然整数顺序的比较器会使事情无法理解和调试。如果您的键值对已排序,则将保持插入顺序
换句话说,
map.keySet()
返回的键将按照您将它们放入映射的确切顺序。如果您的键值对已经排序,则将保持插入顺序
换句话说,map.keySet()
返回的键将按照您将它们放入映射的确切顺序。可以在这里使用。可以在这里使用
有没有什么简单的方法可以让Java存储对
创建一个存储这两个属性的自定义类
它们按实际键值对之外的变量排序
为排序数据添加第三个属性
然后,您的类可以实现Comparable,以便根据此属性对数据进行所需排序
或者,您可以使用自定义比较器在排序数据字段上进行排序
现在,类实例可以存储在ArrayList中
有没有什么简单的方法可以让Java存储对
创建一个存储这两个属性的自定义类
它们按实际键值对之外的变量排序
为排序数据添加第三个属性
然后,您的类可以实现Comparable,以便根据此属性对数据进行所需排序
或者,您可以使用自定义比较器在排序数据字段上进行排序
现在,类实例可以存储在ArrayList中。使用
Map
实现,因为Hashtable
被认为是过时的。使用Map
实现,因为Hashtable
被认为是过时的。@Ridudel:谢谢您的编辑,但是您恢复了我的TreeSet->TreeMap typo:)@Ridudel:谢谢您的编辑,但是你恢复了我的树集->树映射错误:)
SortedMap<Integer, String> myMap = new TreeMap<Integer,String>();