七叶笔记 » java编程 » Java实现HashMap排序方法的示例详解

Java实现HashMap排序方法的示例详解

简介

本文用示例介绍HashMap排序的方法。

排序已有数据

按key排序

使用stream进行排序(按key升序/降序)

执行结果

bc:eead:ddcb:ff ad:ddbc:eecb:ff cb:ffbc:eead:dd

HashMap转TreeMap自定义排序(按key升序/降序)

执行结果

bc:eead:ddcb:ff ad:ddbc:eecb:ff cb:ffbc:eead:dd

按value排序

使用stream进行排序(按value升序/降序)

执行结果

bc:eead:ddcb:ff ad:ddbc:eecb:ff cb:ffbc:eead:dd

借助List进行排序(按value升序/降序)

原理:将待排序Map中的所有元素置于一个列表中,接着使用Collections的一个静态方法 sort(List<T> list, Comparator<? super T> c) 来排序列表,同样是用比较器定义比较规则。排序后的列表中的元素再依次装入Map,为了肯定的保证Map中元素与排序后的List中的元素的顺序一致,使用了LinkedHashMap数据类型。

本处只写升序代码,降序只是调换个顺序而已。

运行结果

bc:eead:ddcb:ff ad:ddbc:eecb:ff

按插入顺序存放

HashMap不按插入顺序存放

执行结果(未按照插入顺序输出)

key:name3, value:josan3key:name2, value:josan2key:name1, value:josan1

LinkedHashMap会按照插入顺序存放

执行结果(按照插入顺序输出)

key:name1, value:josan1key:name2, value:josan2key:name3, value:josan3 

以上就是Java实现HashMap排序方法的示例详解的详细内容,更多关于Java HashMap排序的资料请关注七叶笔记其它相关文章!

相关文章