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

来源:互联网 发布:配电箱制图软件 编辑:程序博客网 时间:2024/06/04 18:12
Set(集)
1:第一不允许出现重复元素。
2:有且只有一个null的元素
这里重点说下TreeSet
    TreeSet是一个有序的集合。将元素进行插入时候,

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

Map(映射表)

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

2:   值集合  Collection<K> values();

3:键/值集合  Set<Map.Entry<K,V>> entrySet();

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

           Map<String,String> maps=new HashMap<String, String>();               maps.put("1", "yang");               maps.put("2", "liu");               maps.put("3", "li");               maps.put("4", "lv");      ①:for(Map.Entry<String, String> entry:maps.entrySet()){                 System.out.println(entry.getKey()+" "+entry.getValue());   //内部实现排序            }       ②:Iterator it=maps.entrySet().iterator();             while(it.hasNext()){                  Map.Entry<String, String> entry=(Entry<String, String>) 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


1 0
原创粉丝点击