java 容器
2014-08-05 15:05
113 查看
J***A的容器---List,Map,Set
Collection
├List
│├LinkedList
│├ArrayList
│└Vector
│ └Stack
└Set
Map
├Hashtable
├HashMap
└WeakHashMap
1.Collection 接口
一些Collection允许相同的元素,而一些不允许;一些能排序,而另一些不能。Java SDK提供的类都是继承自Collection的list或set接口
所有实现Collection接口的类都必须提供两个标准的构造函数:无参数的构造函数用于创建一个空的Collection,有一个
Collection参数的构造函数用于创建一个新的Collection,这个新的Collection与传入的Collection有相同的元素。后一个构造函数允许用户复制一个Collection。
用iterator();可以遍历Collection的元素。
2.List接口
List是有序的Collection,而且list是允许有相同的元素
除了具有Collection接口必备的iterator()方法外,List还提供一个listIterator()方法,返回一个
ListIterator接口,和标准的Iterator接口相比,ListIterator多了一些add()之类的方法,允许添加,删除,设定元素,还能向前或向后遍历。
实现List接口的常用类有LinkedList,ArrayList,Vector和Stack。
3.Set接口
Set是一种不包含重复的元素的Collection,即任意的两个元素e1和e2都有e1.equals(e2)=false,Set最多有一个null元素。
很明显,Set的构造函数有一个约束条件,传入的Collection参数不能包含重复的元素。
请注意:必须小心操作可变对象(Mutable Object)。如果一个Set中的可变元素改变了自身状态导致Object.equals(Object)=true将导致一些问题。
4.Map接口
请注意,Map没有继承Collection接口,Map提供key到value的映射。一个Map中不能包含相同的key,每个key只能映射一个 value。Map接口提供3种集合的视图,Map的内容可以被当作一组key集合,一组value集合,或者一组key-value映射。
array读快改慢
linked改快读慢
hash两者之间
Map类中存储的键值对通过键来标识,所以键不能重复
Collection
├List
│├LinkedList
│├ArrayList
│└Vector
│ └Stack
└Set
Map
├Hashtable
├HashMap
└WeakHashMap
1.Collection 接口
一些Collection允许相同的元素,而一些不允许;一些能排序,而另一些不能。Java SDK提供的类都是继承自Collection的list或set接口
所有实现Collection接口的类都必须提供两个标准的构造函数:无参数的构造函数用于创建一个空的Collection,有一个
Collection参数的构造函数用于创建一个新的Collection,这个新的Collection与传入的Collection有相同的元素。后一个构造函数允许用户复制一个Collection。
用iterator();可以遍历Collection的元素。
2.List接口
List是有序的Collection,而且list是允许有相同的元素
除了具有Collection接口必备的iterator()方法外,List还提供一个listIterator()方法,返回一个
ListIterator接口,和标准的Iterator接口相比,ListIterator多了一些add()之类的方法,允许添加,删除,设定元素,还能向前或向后遍历。
实现List接口的常用类有LinkedList,ArrayList,Vector和Stack。
3.Set接口
Set是一种不包含重复的元素的Collection,即任意的两个元素e1和e2都有e1.equals(e2)=false,Set最多有一个null元素。
很明显,Set的构造函数有一个约束条件,传入的Collection参数不能包含重复的元素。
请注意:必须小心操作可变对象(Mutable Object)。如果一个Set中的可变元素改变了自身状态导致Object.equals(Object)=true将导致一些问题。
4.Map接口
请注意,Map没有继承Collection接口,Map提供key到value的映射。一个Map中不能包含相同的key,每个key只能映射一个 value。Map接口提供3种集合的视图,Map的内容可以被当作一组key集合,一组value集合,或者一组key-value映射。
array读快改慢
linked改快读慢
hash两者之间
Map类中存储的键值对通过键来标识,所以键不能重复
相关文章推荐
- java不同容器不同操作系统下中文问题解决方法
- java 容器学习记录1
- Java容器学习笔记(由java编程思想和网上资料整理而成)
- thingking in java 读书笔记---对象集合和容器
- JAVA的容器---List,Map,Set
- JAVA的容器---List,Map,Set
- java中数组和容器的转换
- java基础 ---Swing窗口容器和布局
- Java容器--基礎篇
- java: 推荐jakarta common collection --JDK以外,更多的容器选择
- Java容器
- Java中的容器
- Java容器分析--Map
- Java 容器中Vector、ArrayList和LinkedList 的区别
- Java容器类学习心得,欢迎拍砖
- java 5.0:范型导致的容器不兼容性。
- JAVA容器分析
- Java容器 HashMap
- java容器中list和set总结
- Java EJB容器的存取和实现