我有ArrayList<Card> cards = new ArrayList<Card>
我需要转换为TreeSet<Card>
。为此我做:
new TreeSet<Card>(cards)
毕竟我的TreeSet
大小等于1. Card
类实现Comparable
接口。我做错了什么或不做什么?
答案 0 :(得分:7)
如果Card
中的所有ArrayList
使用提供的Comparable
界面评估为相等(即compare
始终返回0
),那么您将最终只有TreeSet
中的一个条目。
答案 1 :(得分:2)
他们实施可比较,但如何? 在TreeSet中,a.compareTo(b)返回0的元素只添加第一个元素。
答案 2 :(得分:-1)
将List转换为Set的最简单方法? - Java
Set<Foo> foo = new HashSet<Foo>(myList);
TreeSet tSet = new TreeSet(myList);