我在java中寻找一个类,具有键值关联,但不使用哈希。以下是我目前正在做的事情:
向哈希表中添加值。
获取Hashtable.entrySet()的迭代器。
遍历所有值,并:
弄张地图。迭代器的入口。
根据值创建一个Module类型的对象(自定义类)。
将类添加到JPanel中。
显示面板。
这样做的问题是,我无法控制返回值的顺序,因此不能以给定的顺序显示值(没有对顺序进行硬编码)。
我将使用一个数组列表或Vector来实现这一点,但在代码的后面,我需要为给定的Key获取Module对象,这是我不能用数组列表或Vector来实现的。
有人知道有免费/开源的Java类可以做到这一点吗?或者有一种方法可以根据添加的时间从哈希表中获取值吗?
谢谢!
当你遍历映射的keySet(), entrySet()或values()时,LinkedHashMap将按它们插入到映射中的顺序返回元素。
Map<String, String> map = new LinkedHashMap<String, String>();
map.put("id", "1");
map.put("name", "rohan");
map.put("age", "26");
for (Map.Entry<String, String> entry : map.entrySet()) {
System.out.println(entry.getKey() + " = " + entry.getValue());
}
这将按元素放入map中的顺序打印它们:
id = 1
name = rohan
age = 26
当你遍历映射的keySet(), entrySet()或values()时,LinkedHashMap将按它们插入到映射中的顺序返回元素。
Map<String, String> map = new LinkedHashMap<String, String>();
map.put("id", "1");
map.put("name", "rohan");
map.put("age", "26");
for (Map.Entry<String, String> entry : map.entrySet()) {
System.out.println(entry.getKey() + " = " + entry.getValue());
}
这将按元素放入map中的顺序打印它们:
id = 1
name = rohan
age = 26
你可以使用LinkedHashMap来确定Map中的插入顺序
关于Java LinkedHashMap类的要点是:
它只包含独特的元素。
LinkedHashMap包含基于键的值。
它可以有一个空键和多个空值。
它与HashMap相同,只是维护插入顺序
公共类LinkedHashMap<K,V>扩展HashMap<K,V>实现Map<K,V>
但如果你想使用用户定义对象或任何基本数据类型键对map中的值进行排序,那么你应该使用TreeMap获取更多信息,请参阅此链接