集合框架--Map集合之TreeMap存储自定义对象
来源:互联网 发布:鲁迅名言 知乎 编辑:程序博客网 时间:2024/05/28 04:55
用TreeMap按姓名进行排序:
import java.util.TreeMap;import java.util.Iterator;import java.util.Set;import java.util.Comparator;import java.util.Map;class Student { String name;int age;public Student(String name,int age){super();this.name=name;this.age=age;}public String getName(){return name;}public void setName(String name){this.name=name;}public int getAge(){return age;}public void setAge(int age){this.age=age;}public int hashCode(){ //复写hashCode()return name.hashCode()+age;}public boolean equals(Object obj){ //复写equalsif(this==obj) return true;if(!(obj instanceof Student)) throw new ClassCastException("类型错误"); //输入类型错误Student s = (Student)obj;//强制转换return this.name.equals(s.name) && this.age==s.age; //说明姓名和年龄相同则为同一元素} }class ComparatorByName implements Comparator{ //按姓名比较,继承Comparator接口public int compare(Object o1,Object o2){Student s1=(Student)o1;Student s2=(Student)o2;int temp=s1.getName().compareTo(s2.getName());return temp==0?s1.getAge()-s2.getAge():temp;}}public class TreeMapDemo{public static void main(String[] args){TreeMap<Student,String> tm=new TreeMap<Student,String>(new ComparatorByName());tm.put(new Student("lisi",38),"北京");tm.put(new Student("zhaosi",34),"上海");tm.put(new Student("xiaoqiang",31),"沈阳");tm.put(new Student("wangcai",28),"大连");tm.put(new Student("zhaosi",34),"铁岭");Iterator<Map.Entry<Student,String>> it=tm.entrySet().iterator();while(it.hasNext()){Map.Entry<Student,String> me=it.next();Student key=me.getKey();String value=me.getValue();System.out.println(key.getName()+":"+key.getAge()+"..."+value);}}}运行结果:
0 0
- 集合框架--Map集合之TreeMap存储自定义对象
- 18-Map集合-08-常用对象API(集合框架-Map集合-TreeMap存储自定义对象)
- 集合框架--Map集合之HashMap存储自定义对象
- 18-Map集合-07-常用对象API(集合框架-Map集合-HashMap存储自定义对象)
- 05-方法values演示) 06-Map集合-常见子类对象) 07-Map集合-HashMap存储自定义对象) 08-Map集合-TreeMap存储自定义对象) 1 2
- Java-集合框架Map之HashMap、TreeMap
- 集合框架--ArrayList集合存储自定义对象
- Java基础之集合框架(三)--Map、HashMap、TreeMap
- Java基础之集合框架(三)--Map、HashMap、TreeMap
- Java集合框架之TreeMap
- 集合框架-TreeMap集合
- 集合框架(HashSet存储自定义对象)
- 集合框架-TreeSet存储自定义对象
- 集合框架---TreeSet存储自定义对象
- 集合框架--HashSet存储自定义对象
- 集合框架-ArrayList集合存储自定义对象的排序案例
- 集合框架之Map集合
- Java基础-Map集合之TreeMap
- yii2.0简单使用
- Android防止过快点击造成多次事件
- 最简单的UDP程序
- word2vec模型详解
- 3
- 集合框架--Map集合之TreeMap存储自定义对象
- 使用Jsoup异步抓取新闻数据装载listview(仿开源中国资讯列表)
- 解决方法:配置群集时# gem install redis 报错:Unable to require openssl, install OpenSSL and rebuild ruby (prefer
- Too many open files解决方法
- MySQL DataSource 性能对比(2015-8-19)
- Protocol Buffer的安装与使用
- 《3个数字的排序》15电气43号
- android launchmode 使用场景
- sphinx使用步骤