【发布时间】:2012-05-17 23:04:25
【问题描述】:
我有一个我称之为工件的对象列表。我需要按“名称”属性的字母顺序和 Artifact 称为“级别”的属性按数字顺序排序。
级别并不总是在 Artifact 中设置,在这种情况下,整个集合应该按字母顺序排列。如果 Artifact 有一个 Level,那么优先级应该按 Level 的顺序排序。
工件需要基于名称属性是唯一的。我可以使用 Set 集合并覆盖 Artifact 的 equals 方法以按字母顺序排序。但是,当我想按Level进行排序时,与Name相关的equals方法会抛出这种排序的结果。
我应该使用什么集合和对象结构来保持名称的唯一性,同时还能按级别排序?
【问题讨论】:
-
你应该举一些例子来说明清楚。
-
那么如果你有 200 万个对象,而最后一个没有级别,你想对整个集合进行排序吗?
标签: java sorting collections unique