java集合框架TreeSet的使用和HashSet的使用
来源:互联网 发布:富安娜淘宝旗舰店 编辑:程序博客网 时间:2024/06/05 08:17
java集合框架TreeSet的使用
-使用说明
-实现接口
####TreeSet是集合Collection的子类接口Set的实现类,是无序不重复的,但是其输出的结果是有序的,可以实现两种排序方式: 1.自然排序 2.自定义排序
代码块
//自然排序TreeSet set = new TreeSet(); set.add("2"); set.add("1"); set.add("4"); set.add("8"); set.add("6"); set.add("3"); System.out.println(set);结果:{1,2,3,4,6,8}//自定义排序实现接口Comparator//创建TreeSet对象Com com = new Com();TreeSet set = new TreeSet(com);//com实现接口的类//创建比较器类class Com implements Comparator{ @Override public int compare(Object o1, Object o2) { Clea number = (Clea)o1; Clea number1 = (Clea)o2; if (number1.age == number.age) { return 0; } if (number1.age > number.age) { return 1; } if (number1.age < number.age) { return -1; } return 0; } @Override public String toString() { return super.toString() ; }}//创建Clea类class Clea{ int age; public Clea(int age){ this.age = age; } @Override public String toString() { return "[" + age + "]"; }}
java集合框架HashSet的使用
-使用说明:
//重复元素的判断机制
–只要 obj == obj1 认为obj 和obj1是相同的元素
–equals与hashCode同时相等的时候,认为相同元素
(HashSet基于HashMap实现的)
(利用了Hash键不能重复的特点)
代码块
import java.io.Serializable;import java.util.HashMap;import java.util.HashSet;public class Test02 { HashSet set = new HashSet(); Person p = new Person(); p.name = "张三"; p.age = 15; Person p3 = new Person(); p3.name = "张三"; p3.age = 15; System.out.println(p.equals(p3)); set.add(p); set.add(p3); System.out.println(set); }}class Person implements Comparable { String name; int age; @Override // 自定输入 public String toString() { return "name = " + this.name + "age =" + this.age; } @Override // 自定义相等的规则 public boolean equals(Object obj) { // 如果类型不相等,返回false if (!(obj instanceof Person)) { return false; } // 如果名字相同, 返回true if (((Person)obj).name.equals(this.name)) { return true; } // 如果名字不相同,返回false return false; } // hashCode @Override // 计算一个对象的hash值 public int hashCode() { return this.name.hashCode(); } // 实现Comparable接口 @Override public int compareTo(Object o) { if (o instanceof Person) { Person p = (Person)o; if (this.age > p.age) { // 大 return 1; } else if(this.age == p.age) { // 相等 return 0; } else { // 小 return -1; } } return 0; }}
阅读全文
0 0
- java集合框架TreeSet的使用和HashSet的使用
- java--集合框架的Hashset和Treeset
- Java集合HashSet<T>,TreeSet<T>的使用
- 黑马程序员 集合ArrayList、HashSet和TreeSet的使用
- Java集合 HashSet 和 TreeSet的理解
- Java中HashSet、LinkedHashSet和TreeSet的使用
- TreeSet 、HashSet 、LinkedHashSet 的使用
- Java中HashSet和TreeSet集合的本质
- JAVA----hashset集合的使用
- java-集合(6)-TreeSet,HashSet与TreeSet比较,HashMap,TreeMap只有在排序的功能时使用
- TreeSet集合框架的使用练习
- 集合TreeSet的使用
- java集合框架的练习之TreeSet集合与ArrayList集合的混合使用
- ArrayList、TreeSet、TreeMap、HashSet和HashMap的简单使用示例
- Java集合框架-2.【Set】【HashSet】【TreeSet】
- Java集合(三)TreeSet的使用
- HashSet集合的使用
- 集合HashSet的使用
- Cocos creator中出现Uncaught TypeError: Cannot read property 'node' of undefined
- mysql的水平拆分和垂直拆分
- 5分钟内的Maven
- linux命令替换
- 尼姆博弈
- java集合框架TreeSet的使用和HashSet的使用
- 数组基础
- 什么是Rup,介绍一下Rup。
- hdu6196 强行爆搜
- 系统编程值互斥锁
- 扩展bootstrap-table插件,使其在设置显示/隐藏列时,将设置保存至cookie或者服务器端
- Java输入年月,打印该月的日历,已知2000年1月1号是星期六
- Nexus Repository Manager 3.0 安装与包上传 Maven、Nuget
- 面试感悟:3年工作经验程序员应有的技能