2024年4月24日发(作者:)

hashmap排序sort方法

HashMap是一个无序的集合,根据键来存储和检索值,但是在某

些情况下,需要按照键的顺序来遍历HashMap,这时就需要对HashMap

进行排序操作。

HashMap提供了一个sort方法,可以对HashMap按键的顺序进

行排序。sort方法需要传入一个Comparator对象,该对象用于比较

HashMap中的键值。

比较器Comparator是一个函数,它接受两个参数,并返回一个

整数值,表示这两个参数的比较结果。如果第一个参数小于第二个参

数,则返回负整数;如果第一个参数大于第二个参数,则返回正整数;

如果两个参数相等,则返回零。

下面是一个示例程序,展示如何使用HashMap的sort方法进行

排序:

```

import .*;

public class HashMapSortExample {

public static void main(String[] args) {

Map map = new HashMap<>();

('John', 25);

('Mary', 30);

('Peter', 20);

('Tom', 35);

- 1 -

List<> list = new

ArrayList<>(et());

(list, new Comparator<

Integer>>() {

public int compare( o1,

o2) {

return ().compareTo(());

}

});

for ( entry : list) {

n(() + ' : ' +

ue());

}

}

}

```

上述程序使用了HashMap的entrySet方法,返回一个包含键值

对的集合。然后,将集合转换为List,并使用方

法进行排序。排序时,传入了一个比较器,该比较器按照键的顺序进

行比较。

最后,遍历排序后的List,输出键值对。

通过上述示例程序,可以看出HashMap的sort方法非常实用,

- 2 -

可以方便地对HashMap按键排序。

- 3 -