以排序方式将数据存储在HashSet中

时间:2015-06-10 11:20:10

标签: java set hashset

根据我的阅读,HashSet以未排序的方式存储数据。但是我得到了这个问题。 (我不想让任何人解决)

  

编写一个程序,以便按照排序的方式将汽车详细信息保存在HashSet中   基于汽车名称使用比较器。还要计算哪辆车   有最大和最小速度和所有car.car的平均速度   类结构可能就像。也考虑异常场景

(汽车是一个具有元素名称的类)
我现在很困惑。问题可能有点错误吗?如果是这样,任何人都可以帮助我找出正确的问题吗?

2 个答案:

答案 0 :(得分:2)

这个问题似乎有点不对劲。它应该是:

编写程序,使用比较器将汽车详细信息保存在基于汽车名称的Set中。还要计算哪辆车有最高和最低车速和所有car.car级结构的平均速度都可以。也考虑例外场景

因为,只有TreeSet有一个接受Comparator的构造函数。您不能将ComparatorHashSet一起使用。

答案 1 :(得分:1)

我想问的是使用LinkedHashSet。 Is是第一个要求的HashSet的子类,具有可预测的迭代顺序。此实现与HashSet的不同之处在于它维护了一个贯穿其所有条目的双向链表。此链接列表定义迭代排序,即元素插入集合(插入顺序)的顺序。

如果您无法确保以正确的顺序添加汽车详细信息,则应使用HashSet的专用子类,同时使用LinkedList作为订单,但控制广告订单。但由于问题没有暴露性能要求,很难说这是否真的是必需的实现。