目录
Java数据结构
枚举(Enumeration)
位集合(BitSet)
向量(Vector)
栈(Stack)
字典(Dictionary)
哈希表(Hashtable)
属性(Properties)
Java集合框架
设计目标
框架介绍
接口
实现类
持续更新中.....
定义了一种从数据结构中取回连续元素的方式,可以枚举(一次获得一个)对象集合中的元素,用在Vector和Properties。
public class EnumerationTester {
public static void main(String args[]) {
Enumeration days;
Vector dayNames = new Vector();
dayNames.add("Sunday");
dayNames.add("Monday");
dayNames.add("Tuesday");
dayNames.add("Wednesday");
dayNames.add("Thursday");
dayNames.add("Friday");
dayNames.add("Saturday");
days = dayNames.elements();
while (days.hasMoreElements()){
System.out.println(days.nextElement());
}
}
}
result:
Sunday
Monday
Tuesday
Wednesday
Thursday
Friday
Saturday
实现了一组可以单独设置和清除的位或标志,比如:处理一组布尔值。
与数组(ArrayList)类似,元素可通过索引访问,但Vector大小可以动态调整,故创建之初,无需指定大小。
后进先出(LIFO)的数据结构,类似于函数嵌套。进栈push,出栈pop,search看堆栈位置,peek出栈不移除,empty判空栈。
键映射到值的数据结构,已过时,可通过Map实现。
在用户定义键结构的基础上来组织数据。Java 2 重构的Hashtable实现了Map接口,并集成到了集合框架中。它和HashMap类很相似,但是它支持同步。
持久的属性集,继承于 Hashtable.Properties类,属性列表中每个键及其对应值都是一个字符串。
位于java.util包
两种类型的容器:
Collection包含:List、Set 、Queue三种主类型,再展开就是: ArrayList、LinkedList、HashSet、LinkedHashSet、HashMap、LinkedHashMap 等
集合框架是一个用来代表和操纵集合的统一架构,包含如下3点:
Collection 接口
最基本的集合接口,存储一组不唯一,无序的对象。
List 接口
有序的Collection,能够精确的控制每个元素插入的位置,能够通过索引(类似于数组下标)来访问List中的元素。存储一组不唯一,有序(插入顺序)的对象。
Set 接口
与 Collection 相似的接口,存储一组唯一,无序的对象。
SortedSet 接口
继承于Set,存储一组唯一,有序的对象。
Map 接口
存储一组键值对象。
SortedMap 接口
继承于 Map,使 Key 保持在升序排列。
AbstractCollection、AbstractList、AbstractSequentialList
LinkedList、ArrayList
AbstractSet、HashSet、LinkedHashSet、TreeSet
AbstractMap、HashMap、TreeMap、WeakHashMap、LinkedHashMap、IdentityHashMap
Vector、Stack、Dictionary、Hashtable、Properties、BitSet