Sorin Postel..
73
实际上,在编写使用对象关系映射的JavaEE应用程序时(例如使用Hibernate),这是一个反复出现的问题; 来自所有在这里回复的人,Andreas Petersson是唯一理解真正问题并提供正确答案的人:Java缺少UniqueList!(或者您也可以将其称为OrderedSet或IndexedSet).
Maxwing提到了这个用例(你需要有序和唯一的数据),他建议使用SortedSet,但这不是Marty Pitt真正需要的.
此"IndexedSet"与SortedSet不同 - 在SortedSet中,元素使用Comparator(或使用其"自然"排序)进行排序.
但是它更接近LinkedHashSet(其他人也建议),或者更接近于(也是不存在的)"ArrayListSet",因为它保证元素的返回顺序与插入的顺序相同.
但LinkedHashSet是一个实现,而不是一个接口!我们需要的是一个IndexedSet(或ListSet,或OrderedSet,或UniqueList)接口!这将允许程序员指定他需要具有特定顺序且没有重复的元素集合,然后使用任何实现(例如Hibernate提供的实现)对其进行实例化.
由于JDK是开源的,也许这个接口最终将包含在Java 7中......
尽管如此,答案很棒,但在此期间我们又做了什么? (3认同)