如何在TreeSet中使用Comparator和Arrays.asList

时间:2014-05-13 10:07:20

标签: java collections

朋友们,我在TreeSet收藏中遇到了问题。问题是我想在Comparator的构造函数中使用Arrays.asList()TreeSet方法。

void addDataFromArrays(){
    Toy t1=new Toy();
    t1.setId(123);
    t1.setName("cubes");

    Toy t2=new Toy();
    t2.setId(321);
    t2.setName("balls");

    Toy t3=new Toy();
    t3.setId(124);
    t3.setName("teddys");

    Toy arr[]={t1,t2,t3};

Set<Toy> set=new TreeSet<Toy>(new ToyComp(),Arrays.asList(sa));  // error in this line
}

如果我在Comparable类中使用Toy,则错误消失,从而从TreeSet构造函数中删除了一个参数。但是,我仍然想使用Comparator

1 个答案:

答案 0 :(得分:0)

嗯,你不能。但你可以这样做:

Set<Toy> set=new TreeSet<Toy>(new ToyComp());
set.addAll(Arrays.asList(sa));