Java集合类的混淆点总结(二)

Set(集)
1:第一不允许出现重复元素。
2:有且只有一个null的元素
这里重点说下TreeSet
    TreeSet是一个有序的集合。将元素进行插入时候,

元素自动地排序(内部是红黑树实现的)。每次将元素插入到TreeSet中时候,都被放置在正确的排序位置上。在TreeSet中查找元素要比LinkedList快很多。TreeSet元素查找到正确的位置需要Log2n。而链表的查找元素是n。

Map(映射表)

Map维护三个视图
1:键集   Set keySet();

2:   值集合  Collection values();

3:键/值集合  Set> entrySet();

当我们遍历Map时候常用方法:
         

           Map maps=new HashMap();
               maps.put("1", "yang");
               maps.put("2", "liu");
               maps.put("3", "li");
               maps.put("4", "lv");
      ①:for(Map.Entry entry:maps.entrySet()){
                 System.out.println(entry.getKey()+" "+entry.getValue());   //内部实现排序
            } 
      ②:Iterator it=maps.entrySet().iterator();
             while(it.hasNext()){
                  Map.Entry entry=(Entry) it.next();
                  System.out.println(entry.getKey()+"==="+entry.getValue()); 
              }
      ③:for (String key : map.keySet()) {
                   System.out.println("key= "+ key + " and value= " + map.get(key));
              }

4:HashMap允许添加空值(key 有且只有一个null的元素  value 可以有多个空元素)
     注意HashMap的key会自动覆盖。保证一个key映射一个value(一个value可以被多个key映射)。
      maps.put(null,"11111");
      maps.put(null,null);
      null   -->  null  null最终映射null


你可能感兴趣的:(Java)