Java TreeSet 添加元素失败,如何排查并解决?
- 内容介绍
- 文章标签
- 相关推荐
本文共计1086个文字,预计阅读时间需要5分钟。
Java中,TreeSet是Set的一个子类。Set、List、Map的区别:Set是一个无序、不重复的集合;List(如ArrayList、Vector等)是有序、可重复的集合;Map(如HashMap等)是键值对集合。示例代码:
javapublic static void demo() { TreeSet treeSet=new TreeSet();}
Java 中TreeSet 是Set的一个子类。
Set、List、Map区别
Set是一个无序、不允许重复的集合。
List(ArrayList、Vector等)是有序、可重复的。
Map(HashMap等)是键值对。
public static void demo() { TreeSet<Person> ts = new TreeSet<>(); ts.add(new Person("张三", 23)); ts.add(new Person("李四", 13)); ts.add(new Person("周七", 13)); ts.add(new Person("王五", 43)); ts.add(new Person("赵六", 33)); System.out.println(ts); }
此处会报异常,异常类型为java.lang.ClassCastException
这是因为Person类没有实现Comparable 接口,并实现compareTo函数。
compareTo函数就是TreeSet用来判断是否唯一的函数。
本文共计1086个文字,预计阅读时间需要5分钟。
Java中,TreeSet是Set的一个子类。Set、List、Map的区别:Set是一个无序、不重复的集合;List(如ArrayList、Vector等)是有序、可重复的集合;Map(如HashMap等)是键值对集合。示例代码:
javapublic static void demo() { TreeSet treeSet=new TreeSet();}
Java 中TreeSet 是Set的一个子类。
Set、List、Map区别
Set是一个无序、不允许重复的集合。
List(ArrayList、Vector等)是有序、可重复的。
Map(HashMap等)是键值对。
public static void demo() { TreeSet<Person> ts = new TreeSet<>(); ts.add(new Person("张三", 23)); ts.add(new Person("李四", 13)); ts.add(new Person("周七", 13)); ts.add(new Person("王五", 43)); ts.add(new Person("赵六", 33)); System.out.println(ts); }
此处会报异常,异常类型为java.lang.ClassCastException
这是因为Person类没有实现Comparable 接口,并实现compareTo函数。
compareTo函数就是TreeSet用来判断是否唯一的函数。

