首页 > 解决方案 > 无法使用 CustomComparator 创建 Hashset

问题描述

使用 CustomComparator 创建 Hashset/Hashmap 时出现以下错误。我相信语法是正确的,但我不确定它为什么会抛出错误。请帮忙。

在此处输入图像描述 在此处输入图像描述 在此处输入图像描述

标签: javahashmaphashset

解决方案


HashMap并且HashSet不是排序的集合,因此没有构造函数来获取Comparator. 相反,您必须使用TreeSetor TreeMapwhich 包含重载的构造函数来接收Comparator. 所以代码应该这样更正。

Map<Student, String> empMap = new TreeMap<>(new MyCustComparator());
Set<Student> set = new TreeSet<>(new MyCustComparator());

推荐阅读