标签:link 工具类 定义 删除速度 tar set 动态 方式 str
Collection是集合接口:Set
,list接口继承Collection
接口
|————Set子接口:无序,不允许重复。
|————List子接口:有序,可以有重复元素。
区别:Collections是集合类:java.util.Collections 是一个包装类。它包含有各种有关集合操作的静态多态方法。此类不能实例化,就像一个工具类,服务于Java的Collection框架。
Set和List对比:
Set:检索元素效率低下,删除和插入效率高,插入和删除不会引起元素位置改变。
List:和数组类似,List可以动态增长,查找元素效率高,插入删除元素效率低,因为会引起其他元素位置改变。
Set和List具体子类:
Set
|————HashSet:以哈希表的形式存放元素,插入删除速度很快。
List
|————ArrayList:动态数组
|————LinkedList:链表、队列、堆栈。
第一种:
Map map = new HashMap();
Iterator iter = map.entrySet().iterator();
while (iter.hasNext()) {
Map.Entry entry = (Map.Entry) iter.next();
Object key = entry.getKey();
Object val = entry.getValue();
}
效率高,以后一定要使用此种方式!
第二种:
Map map = new HashMap();
Iterator iter = map.keySet().iterator();
while (iter.hasNext()) {
Object key = iter.next();
Object val = map.get(key);
}
效率低,以后尽量少使用!
Map
接口不是 Collection
接口的继承。而是从自己的用于维护键-值关联的接口层次结构入手。按定义,该接口描述了从不重复的键到值的映射。
HashMap 类和 TreeMap 类
“集合框架”提供两种常规的 Map
实现:HashMap
和TreeMap
。和所有的具体实现一样,使用哪种实现取决于您的特定需要。在Map
中插入、删除和定位元素,HashMap
是最好的选择。但如果您要按顺序遍历键,那么TreeMap
会更好。根据集合大小,先把元素添加到 HashMap
,再把这种映射转换成一个用于有序键遍历的 TreeMap
可能更快。使用HashMap
要求添加的键类明确定义了 hashCode()
实现。有了TreeMap
实现,添加到映射的元素一定是可排序的
标签:link 工具类 定义 删除速度 tar set 动态 方式 str
原文地址:http://www.cnblogs.com/eryun/p/7302439.html