租用问题

质量为本、客户为根、勇于拼搏、务实创新

< 返回租用问题列表

treeset为啥不能参数化,treeset为什么有序

发布时间:2023-08-03 08:29:16

treeset为啥不能参数化

`TreeSet` 是 Java 中的一个实现了`SortedSet`接口的集合类,它可以依照元素的自然顺序还是自定义的比较器进行排序。
`TreeSet`的参数化是指在创建`TreeSet`对象时,可以指定集合中元素的类型。例如,如果要创建一个存储整数类型的`TreeSet`对象,可以这样写:`TreeSet set = new TreeSet<>();`
`TreeSet`不能无参数化,是由于它需要知道集合中元素的类型,以便进行排序和比较操作。如果没有指定类型,编译器就没法肯定集合中元素的类型,从而没法进行排序和比较。
另外,需要注意的是,`TreeSet`中的元素一定要是可比较的,即实现了`Comparable`接口还是在创建`TreeSet`对象时指定了比较器(`Comparator`)。如果集合中的元素没有实现`Comparable`接口并且没有指定比较器,那末在插入元素时会抛出`ClassCastException`异常。