Collection和Map類圖預覽與比較

類圖html

HashSet和TreeSet的區別:http://www.javashuo.com/article/p-nkeqwovm-dn.html
HashSet和LinkedHashSet區別:http://www.javashuo.com/article/p-gjgzklzf-da.htmlcode

ArrayList和Vector的區別:http://www.javashuo.com/article/p-xtwsbzvo-bk.html
ArrayList和LinkedList的區別:http://www.javashuo.com/article/p-espsmiwc-cq.htmlhtm

HashMap和Hashtable的區別:http://www.javashuo.com/article/p-xpqfuydz-gg.html
HashMap和TreeMap的區別:http://www.javashuo.com/article/p-xvltulhu-dv.html
HashMap與ConcurrentHashMap的區別:http://www.javashuo.com/article/p-rgxiachl-cc.html
HashMap和LinkedHashMap的區別:http://www.javashuo.com/article/p-rzyezzes-ec.htmlblog



List數據是否可重複、可爲空、可爲nullget

public class ListDemo {
    public static void main(String[] args) {
        List<String> list = new ArrayList<>();
        list.add("11");
        list.add("22");
        list.add("33");
        list.add("11");
        list.add("");
        list.add(null);
        System.out.println(list);
        List<String> list2 = new LinkedList<>();
        list2.add("11");
        list2.add("22");
        list2.add("33");
        list2.add("11");
        list2.add("");
        list2.add(null);
        System.out.println(list2);
    }
}
[11, 22, 33, 11, , null]
[11, 22, 33, 11, , null]
結論:ArrayList和LinkedList的值可重複、可爲空、可爲null



Set數據是否可重複、可爲空、可爲null數學

public class SetDemo {
    public static void main(String[] args) {
        Set<String> set = new HashSet<>();
        set.add("11");
        set.add("22");
        set.add("33");
        set.add("11");
        set.add("");
        set.add(null);
        System.out.println(set);
        Set<String> set2 = new LinkedHashSet<>();
        set2.add("11");
        set2.add("22");
        set2.add("33");
        set2.add("11");
        set2.add("");
        set2.add(null);
        System.out.println(set2);
    }
}
[11, 22, 33, , null]
[11, 22, 33, , null]
結論:HashSet和LinkedHashSet的值不能重複,但可爲空,可爲null



Map數據是否可重複、可爲空、可爲nullio

public class MapDemo {
    public static void main(String[] args) {
        Map<String, Integer> map = new HashMap<>();
        map.put("語文", 100);
        map.put("數學", 99);
        map.put("語文", 98);
        map.put("", 97);
        map.put(null, 96);
        map.put(null, null);
        System.out.println(map);
        Map<String, Integer> map2 = new TreeMap<>();
        map2.put("語文", 100);
        map2.put("數學", 99);
        map2.put("語文", 98);
        map2.put("", 97);
        map2.put("外語", null);
        // map2.put(null, 96);   NullPointerException
        // map2.put(null, null); NullPointerException
        System.out.println(map2);
    }
}
{=97, null=null, 數學=99, 語文=98}
{=97, 外語=null, 數學=99, 語文=98}
結論:
HashMap的key不可重複,但可爲空、可爲null,value不作討論。
TreeMap的key不可重複、不可爲null,但可爲空,value不作討論。
相關文章
相關標籤/搜索