1. 程式人生 > >Java 集合框架_下

Java 集合框架_下

fff 1.2 java 集合 建議 col 技術 shm 通過 map

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 總結

        技術分享圖片

Java 集合框架_下