TreeMap添加元素时异常 Comparable异常
2018-06-18 03:45:31来源:未知 阅读 ()
package com.swift; import java.util.Comparator; import java.util.HashMap; import java.util.Iterator; import java.util.Map; import java.util.Map.Entry; import java.util.Set; import java.util.TreeMap; public class Map_keySet_entrySet { public static void main(String[] args) { /* * TreeMap 集合存储自定义对象,并使用 2 中方式遍历获取 */ Map<Person,String> hm = new HashMap<Person, String>(); hm.put(new Person("lisi",18), "加拿大"); hm.put(new Person("zhangsa",17), "澳大利亚"); hm.put(new Person("zhangsa",17), "澳大利亚"); hm.put(new Person("wangwu",20), "新加坡"); hm.put(new Person("zhaoliu",19), "新西兰"); hm.put(new Person("zhaoliu",19), "新西兰"); hm.put(new Person("lisa",22), "迪拜"); //使用TreeMap无法排序比较是会出现Comparable错误 这时需要自己弄比较器 Map<Person,String> tree = new TreeMap<Person, String>(new Comparator<Person>() { @Override public int compare(Person arg0, Person arg1) { int num=arg0.getAge()-arg1.getAge(); return num==0?arg0.getName().compareTo(arg1.getName()):num; } }); tree.put(new Person("lisisi",18), "china"); //keySet方法一 Set<Person> set=hm.keySet(); for(Person per:set) { System.out.println("人员:"+per.toString()+"来自:"+hm.get(per)); } Set<Person> set1=tree.keySet(); for(Person per:set1) { System.out.println("人员:"+per.toString()+"来自:"+tree.get(per)); } //entrySet方法二 for(Map.Entry<Person, String> en:hm.entrySet()) { System.out.println(); System.out.println("人员:"+en.getKey().toString()+"来自:"+en.getValue()); } Map<Person,String> tree1 = new TreeMap<Person, String>(new Comparator<Person>() { @Override public int compare(Person arg0, Person arg1) { int num=arg0.getAge()-arg1.getAge(); return num==0?arg0.getName().compareTo(arg1.getName()):num; } }); tree1.put(new Person("fengqichanglin",18), "langyabang"); System.out.println(); Iterator<?> it=tree1.entrySet().iterator(); while(it.hasNext()) { Entry<Person,String> entry=(Entry<Person, String>) it.next(); System.out.println(entry.getKey().toString()+entry.getValue()); } } }
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
- idea为代码添加标签清除标签 2020-06-11
- Java 给PDF文档添加页码 2020-05-29
- LeetCode 34. 在排序数组中查找元素的第一个和最后一个位置 2020-05-22
- IDEA:springboot项目启动程序添加@MapperScan(value = & 2020-05-22
- eclipse中的项目无法添加到tomcat中 2020-05-12
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash