java中支持排序/顺序的数据结构是什么

java中支持排序/顺序的数据结构是什么,java,Java,我使用hashmap来存储一些数据,但每当保存到hashmap的新数据或旧数据移出hashmap时,我需要按升序保存它。但hashmap本身不支持顺序,我可以使用什么数据结构来支持顺序?谢谢将是规范的排序映射实现。请注意,这是按键排序的,我想这是您要找的,但如果不是,它将不合适 由于Java6还带有一个接口,您可以查看实现它的类的列表(在链接的Javadoc页面上),并在这些类中进行选择。实现这个方法只保证它们有某种定义的迭代顺序,您必须阅读每个类的描述,看看它是否是您喜欢的 TreeMap不是

我使用hashmap来存储一些数据,但每当保存到hashmap的新数据或旧数据移出hashmap时,我需要按升序保存它。但hashmap本身不支持顺序,我可以使用什么数据结构来支持顺序?谢谢

将是规范的排序映射实现。请注意,这是按键排序的,我想这是您要找的,但如果不是,它将不合适

由于Java6还带有一个接口,您可以查看实现它的类的列表(在链接的Javadoc页面上),并在这些类中进行选择。实现这个方法只保证它们有某种定义的迭代顺序,您必须阅读每个类的描述,看看它是否是您喜欢的


TreeMap不是一个hashmap,因为它没有一个哈希表来支持提供摊销的
O(1)
插入。但是,无论如何都不可能使用
O(1)
插入来维护已排序的映射(因为您必须检查至少一些现有元素,以确定新元素应该放在哪里),因此
O(lg n)
TreeMap的性能在这种情况下是最好的。

LinkedHashMap可能就是您想要的。

+1除此之外,还可以更改关联映射中的映射。这是一种可行的方法。因为若您有多个相同的值(这是完全可能的),那个么树映射将给出正确的结果