您的位置:首页 > 编程语言 > Java开发

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

2016-05-18 21:15 543 查看
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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: