JAVA-TreeSet集合
来源:互联网 发布:广告平面设计软件下载 编辑:程序博客网 时间:2024/06/06 00:14
Set集合:
set接口是Collection的子接口,set接口中容器的元素是没有顺序的,并且不可以重复。
set集合下有HashSet和TreeSet两个子接口,HashSet的数据结构是哈希表,线程是非同步的,里面的元素必须是不同的,从而保证了元素的唯一性。
唯一性原理:java虚拟机首先会判断集合中的hashCode是否相同,如果相同,继续判断元素的equals方法,当equals方法和HashCode都一样时,则该集合元素是唯一的。
自定义对象时,需要实现Comparable接口,同时要改写comapareTo方法,因为在Set集合中元素会依次进行比较,而String方法天生就改写了compareTo方法,所以可以用compareTo方法进行字符串的比较,从而保证集合中的元素的完全性和唯一性。
代码实现如下:
public class lpq01{ public static void main(String []arsg){ Collection c=new TreeSet();//利用多态 c.add(new Student("lpa09",18));//向容器中添加元素 c.add(new Student("lpq08",22)); c.add(new Student("lpq11",18)); c.add(new Student("lpq23",24)); Iterator it=c.iterator();//迭代器循环遍历每一个元素 while(it.hasNext()){ Student stu=(Student)it.next();//next属于Object对象所以放强制转型为Student对象 System.out.println(stu.getName()+" "+stu.getAge()); } }}class Student implements Comaparable { private String name; private int name; public int compareTo(Object obj){ if(!(obj instanceof Student)) return new RuntimeExceptin("不是学生对象!"); Student s=(Student)obj; if(this.age>s.age) return 1; if(this.age==s.age)//如果年龄相等在判断名字是否一样; { return this.name.compareTo.(s.name);//String方法天生(封装)改写了compareTo方法 } return 0; } public Student(String name,int age){ this.name=name; this,age=age; } public String getName(){ return name; } public int getAge(){ return age; }}
阅读全文
0 0
- Java 集合框架-TreeSet
- JAVA 集合类 TREESET
- Java集合之TreeSet
- java集合之TreeSet
- java中的TreeSet集合
- java集合-TreeSet
- java集合------TreeSet
- java 集合框架-TreeSet
- Java集合之TreeSet
- Java集合之TreeSet
- Java TreeSet 集合
- 集合TreeSet【java】
- 《java集合》--TreeMap、TreeSet
- Java TreeSet集合
- Java集合之TreeSet
- JAVA-TreeSet集合
- JAVA-TreeSet集合
- java 集合 TreeSet
- HattpURLConnection网络请求
- 南阳理工 oj 题目38 布线问题
- mysql&多表查询知识点总结
- win7访问本机VMware虚拟机的CentOS上的web项目以及互相通信访问
- 高可用MySQL_构建健壮的数据中心pdf
- JAVA-TreeSet集合
- jdbc知识点总结
- linux配置tomcat
- Hadoop权威指南pdf
- mysql 状态说明
- 数据库的一些常见问题
- win10使用"诊断启动后无法进入桌面"
- hi3518移植librtmp
- [试验]关于特殊权限位的试验,未排版.