zoukankan      html  css  js  c++  java
  • Java 集合框架_下

      Map接口

      特点:    

        【1】Map接口称为键值对集合或者映射集合,其中的元素(entry)是以键值对(key-value)的形式存在。

        【2】Map 容器接口中提供了增、删、改、查的方式对集合进行操作。

        【3】Map接口中都是通过key来操作键值对,一般key是已知。通过key获取value。

    Map接口的实现类HashMap、LinkedHashMap、TreeMap

    1.1   HashMap

        【1】HashMap 是Map的实现类,key以HashSet存储。

        【2】HashMap 线程不安全,jdk1.2;Hashtable是HashMap的线程安全版本,jdk1.0

        【3】 向HashMap中存储元素时,key一定要实现hashCode和equals

        【4】一般建议使用String作为Map接口的key

    1.2   LinkedHashMap

        【1】LinkedHashMap是Map接口的实现类,key以LinkedHashSet存储。哈希表散列key,链表维持key的添加顺序。

    1.3   TreeMap

       【1】TreeMap是Map的实现类,key以TreeSet存储。

    public static void main(String[] args) {
            
            
            /*TreeMap<String, Object> map = new TreeMap<String,Object>(new Comparator<String>() {
    
                @Override
                public int compare(String o1, String o2) {
                    return o1.length() - o2.length();
                }
            });
            
            ArrayList<String> list2 = new ArrayList<String>();
            list2.add("ben");
            list2.add("bill");
            map.put("Aa", list2);
            
            ArrayList<String> list1 = new ArrayList<String>();
            list1.add("alex");
            list1.add("alice");
            list1.add("allen");
            map.put("B", list1);
            
            System.out.println(map);*/
            
            
            
            TreeMap<Student, Object> map = new TreeMap<Student,Object>(new Comparator<Student>() {
    
                @Override
                public int compare(Student o1, Student o2) {
                    return o1.getAge() - o2.getAge();
                }
            });
            
            ArrayList<String> list1 = new ArrayList<String>();
            list1.add("alex");
            list1.add("alice");
            list1.add("allen");
            Student s1 = new Student("001", "大狗", 20);
            map.put(s1, list1);
            
            
            ArrayList<String> list2 = new ArrayList<String>();
            list2.add("ben");
            list2.add("bill");
            Student s2 = new Student("001", "2狗", 20);
            // 修改
            map.put(s2, list2);
            System.out.println(map);
            
        }

    1.1   总结

              

  • 相关阅读:
    深入理解Http协议
    Http协议详解
    过滤器、监听器、拦截器的区别
    HTTP状态代码集
    理解XML-RPC
    Axis2 解析
    REST SOAP XML-RPC分析比较
    Spring 第一天课程
    Spring 框架学习 有用
    数据库主从复制,读写分离,负载均衡,分表分库的概念 没用
  • 原文地址:https://www.cnblogs.com/dedema/p/10821582.html
Copyright © 2011-2022 走看看