HashMap中的java插入无法正常工作
我将一个已排序的对象插入HashMap,但它没有得到排序
Map<Long, Object> sortedObject = new HashMap(Long, Object>();
for(Object sortedObject : sortedObjectList)
{
sortedMap.put(sortedObject.getId(), sortedObject);
}
syso(new Gson().toJson(sortedMap);
在输出中,我希望得到排序的映射,但它是随机的。 请帮忙
# 1 楼答案
HashMap
未排序,它存储在键值对中。 值与相应的键映射# 2 楼答案
^{} 是无序的。使用^{} 进行排序。试试这个:
TreeMap是^{} 的一个例子,这意味着可以对键的顺序进行排序,当对键进行迭代时,可以预期它们将按顺序排列
另一方面,HashMap则没有这样的保证。因此,当迭代HashMap的键时,您无法确定它们的顺序
HashMap通常效率更高,所以只要不关心键的顺序,就可以使用它
HashMap
被指定为O(1)
:“基本操作(get和put)的恒定时间性能,假设哈希函数将元素正确地分散在存储桶中”TreeMap
被指定为containsKey、get、put和remove操作的{