• Java API —— TreeMap类


    1、TreeMap类概述
            键是红黑树结构,可以保证键的排序和唯一性
    2、TreeMap案例
            TreeMap<String,String>
            TreeMap<Student,String>
     
    例子1:
    package treemapdemos;
    import java.util.Set;
    import java.util.TreeMap;
    /**
     * Created by gao on 15-12-22.
     */
    /*
     * TreeMap:是基于红黑树的Map接口的实现。
     * HashMap<String,String>
     * 键:String
     * 值:String
     */
    public class TreeMapDemo01 {
        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
     
    例子2:
    package treemapdemos;
    import java.util.Comparator;
    import java.util.Set;
    import java.util.TreeMap;
    /**
     * Created by gao on 15-12-22.
     */
    /*
     * TreeMap<Student,String>
     * 键:Student
     * 值:String
     */
    public class TreeMapDemo02 {
        public static void main(String[] args) {
            // 创建集合对象
            TreeMap<Student, String> tm = new TreeMap<Student, String>(new Comparator<Student>() {
                @Override
                public 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---元朝
     
     
     
     
     
     
     
  • 相关阅读:
    团队开发冲刺2.3(2015.5.27)
    团队开发冲刺2.2(2015.5.26)
    团队开发冲刺2.1(2015.5.26)
    团队开发冲刺1.6(2015.5.14)
    团队开发冲刺1.5(2015.5.13)
    团队开发冲刺1.4(2015.5.12)
    团队开发冲刺1.3(2015.5.11)
    团队开发冲刺1.2(2015.5.10)
    团队开发冲刺1.1(2015.5.9)
    找1
  • 原文地址:https://www.cnblogs.com/yangyquin/p/5066149.html
Copyright © 2020-2023  润新知