首页 > 代码库 > java HashMap和HashTable区别,Collection常见方法

java HashMap和HashTable区别,Collection常见方法

    /**
     * @param args
     * 面试题
     * HashMap和Hashtable的区别
     * 共同点:
     * 底层都是哈希算法,都是双列集合
     * 区别:
     * 1,HashMap是线程不安全的,效率高,JDK1.2版本
     *   Hashtable是线程安全的,效率低,JDK1.0版本的
     * 2,HashMap可以存储null键和null值
     *   Hashtable不可以存储null键和null值
     */
    public static void main(String[] args) {
        HashMap<String, Integer> hm = new HashMap<>();
        hm.put(null, 23);
        hm.put("李四", null);
        System.out.println(hm);
        
        /*Hashtable<String, Integer> ht = new Hashtable<>();
        //ht.put(null, 23);
        ht.put("张三", null);
        System.out.println(ht);*/
        
        
        System.out.println("1111111111111");

=============================================================================================================================
/**
* Collecitons中的常见方法 * public static <T> void sort(List<T> list) public static <T> int binarySearch(List<?> list,T key) public static <T> T max(Collection<?> coll) public static void reverse(List<?> list) public static void shuffle(List<?> list) */ public static void main(String[] args) { //demo1(); //demo2(); ArrayList<String> list = new ArrayList<>(); list.add("a"); list.add("c"); list.add("d"); list.add("g"); list.add("f"); //System.out.println(Collections.max(list)); //根据默认排序结果获取集合中的最大值 //Collections.reverse(list); //反转集合 Collections.shuffle(list); //随机置换,可以用来洗牌 System.out.println(list); } public static void demo2() { ArrayList<String> list = new ArrayList<>(); list.add("a"); list.add("c"); list.add("d"); list.add("f"); list.add("g"); System.out.println(Collections.binarySearch(list, "c")); System.out.println(Collections.binarySearch(list, "b")); } public static void demo1() { ArrayList<String> list = new ArrayList<>(); list.add("c"); list.add("a"); list.add("a"); list.add("b"); list.add("d"); System.out.println(list); Collections.sort(list); //将集合排序 System.out.println(list); }

 

 

java HashMap和HashTable区别,Collection常见方法