java_集合框架基础总结
来源:互联网 发布:零售行业有哪些数据 编辑:程序博客网 时间:2024/06/05 14:50
通过对集合框架的学习,一下实例是对集合框架基础总结
import java.util.*;
class Collection
{
public static void main(String[] args)
{
TreeSet hs = new TreeSet(new mycomparetor());//传入比较器
hs.add(new person("java05",25));
hs.add(new person("java03",23));
hs.add(new person("java08",21));
hs.add(new person("java07",24));
Iterator it = hs.iterator();
while(it.hasNext())
{
person p = (person)it.next();
System.out.println(p.getname()+"::"+p.getage());
}
}
}
class person implements Comparable
{
String name;
int age;
person(String name,int age)
{
this.age=age;
this.name=name;
}
public String getname()
{
return name;
}
public int getage()
{
return age;
}
//复写hashCode()方法
public int hashCode()
{
return name.hashCode()+age*3;
}
//复写equals方法
public boolean equals(Object obj)
{
if(!(obj instanceof person))
throw new ClassCastException("类型错误");
person p = (person)obj;
if(this.age>p.age)
return true;
if(this.age==p.age)
{
return this.name.equals(p.name);
}
return false;
}
//复写compareTo()方法
public int compareTo(Object obj)
{
if(!(obj instanceof person))
throw new ClassCastException("类型错误");
person p = (person)obj;
int num = this.age-p.age ;
if(num>0)
return 1;
if(num==0)
{
return this.name.compareTo(p.name);
}
return -1;
}
}
//自定义比较器
class mycomparetor implements Comparator<person>
{
public int compare(person p1,person p2)
{
int num = p1.getname().compareTo(p2.getname());
if(num==0)
return new Integer(p1.getage()).compareTo(new Integer(p2.getage()));
return num;
}
}
/*
1.HashSet,HashMap集合通过复写hashCode()与equals()方法来控制元素的唯一性
2.TreeSet,TreeMap集合通过实现Comparable接口,复写compareTo()方法来控制元素的唯一性
3.自定义比较器通过实现Comparator接口,复写compare()方法
*/
- java_集合框架基础总结
- Java_基础—集合框架(练习)
- Java_基础—集合的总结
- java_集合框架
- java_基础_集合
- Java_集合类基础
- JAVA_集合总结Map
- java_集合_总结
- java_集合总结
- 集合体系框架基础总结
- Java集合框架基础总结
- java_集合的遍历总结
- java基础 集合框架 简单总结
- Java基础6:集合框架学习总结
- #面试java基础总结大全#集合框架
- 集合框架-集合总结
- java_集合
- java_集合
- hdu 1325 Is It A Tree? 并查集
- rpc编程常见问题
- 详解JMeter正则表达式
- 写给初学者的6条网页设计安全配色指南
- Storm安装介绍
- java_集合框架基础总结
- HDU 1257 最少拦截系统
- 缓存技术PK:选择Memcached还是Redis?
- 【转】计算机视觉基础2——相机成像的几何描述
- 【HTML5+CSS3开发实战】第2章 初识HTML5
- 自定义类似RadioButton的单选、多选的ListView
- cpu亲和力总结taskset和setcpu及其他相关
- 为什么两个float类型的数值不能直接相等
- Altium Designer格式原理图怎样转换成OrCAD格式