前几天,做了一道算法题,是键值对的形式存储,放在map中,要求按照他们的value值的大小进行排序,然后输出。我不会,百度了一波,看了一堆compare、comparator、comparable、compareTo之类的单词,买了否冷!你确定这不是在背单词!看到不懂的东西就会让我非常着急,那天我花了一晚上把这些搞懂了,今天抽点时间好好总结下。
首先说下我要干嘛。。通常我们对数据进行存储时,有时要求他们按照一定顺序存储,通常我们要进行排序,所以以下我就讲讲排序。
一般的,对于基本的数据类型,其实我们可以自己写几行的代码进行排序,排序的方法比如冒泡法、快排之类的,而且基本类型,都可以存储在数组中;但是对于复杂的数据类型,比如对象,就不能简单的写几行代码就搞定的,必须得用到java所提供的一些便利的类或接口,这样才能让我们的工作大大简化起来;而且复杂的数据类型一般存储在set、list、map等集合中。所以,在看之前最好了解一些这方面的知识,传送门:https://blog.csdn.net/qq_36923376/article/details/88821551
sort函数
sort函数是用来排序的,只要使用集合调用该函数,它会自动完成排序工作,你只要负责循环输出就行了。
这里sort()有三种使用方法,依次是:
-
default void
sort(Comparator<? super E> c)
-
static <T extends Comparable<