将ArrayList转换为TreeSet

时间:2013-04-25 14:27:42

标签: java collections

我有ArrayList<Card> cards = new ArrayList<Card>我需要转换为TreeSet<Card>。为此我做:

new TreeSet<Card>(cards)

毕竟我的TreeSet大小等于1. Card类实现Comparable接口。我做错了什么或不做什么?

3 个答案:

答案 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);