您可以通过使用TreeSet提供Comparator仅检查您感兴趣的字段的自定义来获得该效果.
但请注意,严格来说,这样TreeSet不再是"正确的",Set因为它实际上忽略了equal()对象的方法:
请注意,如果要正确实现接口,则由集合维护的排序(无论是否提供显式比较器)必须与equals一致
Set.(参见Comparable或Comparator了解与equals一致的精确定义.)这是因为Set接口是根据equals操作定义的,但TreeSet实例使用其compareTo(或compare)方法执行所有元素比较,因此两个被认为相等的元素从集合的角度来看,方法是相等的.集合的行为即使其排序与equals不一致也是明确定义的; 它只是不遵守Set界面的一般合同.
| 归档时间: |
|
| 查看次数: |
920 次 |
| 最近记录: |