Java 集合框架_下
阿新 • • 發佈:2019-05-06
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 集合框架_下