69、java集合-TreeMap

来源:互联网 发布:淘宝旧版本下载 编辑:程序博客网 时间:2024/06/15 13:28
TreeMap类概述键是红黑树结构,可以保证键的排序和唯一性/* * TreeMap:是基于红黑树的Map接口的实现。 *  * HashMap<String,String> * 键:String * 值:String */public class TreeMapDemo {public static void main(String[] args) {// 创建集合对象TreeMap<String, String> tm = new TreeMap<String, String>();// 创建元素并添加元素tm.put("hello", "你好");tm.put("world", "世界");tm.put("java", "爪哇");tm.put("world", "世界2");tm.put("javaee", "爪哇EE");// 遍历集合Set<String> set = tm.keySet();for (String key : set) {String value = tm.get(key);System.out.println(key + "---" + value);}//hello---你好//java---爪哇//javaee---爪哇EE//world---世界2}}/* * TreeMap<Student,String> * 键:Student * 值:String */public class TreeMapDemo2 {public static void main(String[] args) {// 创建集合对象TreeMap<Student, String> tm = new TreeMap<Student, String>(new Comparator<Student>() {@Overridepublic int compare(Student s1, Student s2) {// 主要条件int num = s1.getAge() - s2.getAge();// 次要条件int num2 = num == 0 ? s1.getName().compareTo(s2.getName()) : num;return num2;}});// 创建学生对象Student s1 = new Student("潘安", 30);Student s2 = new Student("柳下惠", 35);Student s3 = new Student("唐伯虎", 33);Student s4 = new Student("燕青", 32);Student s5 = new Student("唐伯虎", 33);// 存储元素tm.put(s1, "宋朝");tm.put(s2, "元朝");tm.put(s3, "明朝");tm.put(s4, "清朝");tm.put(s5, "汉朝");// 遍历Set<Student> set = tm.keySet();for (Student key : set) {String value = tm.get(key);System.out.println(key.getName() + "---" + key.getAge() + "---"+ value);}//潘安---30---宋朝//燕青---32---清朝//唐伯虎---33---汉朝//柳下惠---35---元朝}}

原创粉丝点击