java hashmap用法 java中需要排序的数据,为什么都是用hashmap,而不是直接用sortmap?
java中需要排序的数据,为什么都是用hashmap,而不是直接用sortmap?不同的应用场景[treemap继承自SortedMap]它用于保持键的顺序,还包含许多排序方法。HashMap是无序的
java中需要排序的数据,为什么都是用hashmap,而不是直接用sortmap?
不同的应用场景
[treemap继承自SortedMap]它用于保持键的顺序,还包含许多排序方法。
HashMap是无序的,按集合的排序方法排序。
如何实现key,value有序的HashMap?
LinkedHashMap中有一个模拟的“双向循环链表”,用于保存条目的插入顺序。我也可以用这个方法保存插入时键和值的顺序。它暂定名为orderedhashmap。主代码是从LinkedHashMap复制的。它还维护两个模拟的“双向循环链表”:keyheader和valueheader,保持键或值从小到大的顺序。当一个元素被放入时,除了将它存储在hash bucket中之外,还应该根据键的大小将它插入key header中,并根据值的顺序将它插入value header中。如果您想输出,您可以从这两个“头指针”向前或向后迭代,以获得键或值的有序条目。(可以实现正负顺序的键和值的输出,只比较数值型,如果不是数值型,可以按HashMap正常处理)。下面是测试结果:值按相反顺序输出java代码orderhashmap