java中为什么要引进集合类的概念呢,我对集合类也不是很理解,望各位帮忙?什么Treeset,hashSet等等,我都不是很理解,他们的区别是什么?
------解决方案--------------------
Java集合类
线性表,链表,哈希表是常用的数据结构,在进行Java开发时,JDK已经为我们提供了一系列相应的类来实现基本的数据结构。这些类均在java.util包中。Java集合类就是不把这些常用的数据结构和算法封状成类的形式方便使用。
集合中存放的是对象的引用,而非对象本身 ,出于表达上的便利,简称为"集合中的对象".
Set(集):集合中的对象不按特定方式排列,并且没有重复对象,它的有些实现类能对集合中的对象按特定方式排列.
set接口主要有两个实现类HashSet和TreeSet,HashSet类按照哈希算法来存取集合中的对象,存取速度比较快,HashSet类还有一个子类LinkedHashSet类,不仅实现了哈希算法,而且实现了链表数据结构,TreeSet类实现了SortedSet接口,具有排序功能.
HashSet类
按照哈希算法来存取集合中的对象,具有很好的存取性能,当HashSet向集合中加入一个对象时,会调用对象的hashCode()方法获得哈希码,然后根据这个哈希码进一步计算出对象在集合中的存放位置.
TreeSet类:
实现了SortedSet接口,能够对集合中的对象进行排序.
List(列表):对象以线性方式存储,集合中的对象按索引位置排序,可以有重复对象,允许按照对象在集合中的索引位置检索对象.
实现类有LinkedList,ArrayList和Vector,LinkedList采用链表数据结构,而ArrayList代表大小可变的数组, Vector和ArrayList比较相似,两者的区别在于Vecotr类的实现采用了同步机制,而ArrayList没有使用同步机制/
Map(映射):集合中的每一个元素包含一对键对象和一对值对象,集合中没有重复的键对象,值对象可以重复,它的有写实现类能。
Map有两种比较常用的实现:HashMap和TreeMap.Hashmap按照哈希算法来存取键对象,有很好的存取能力,为了保证HashMap能正常工作,和HashSet一样,要求当两个键对象通过equals()方法比较为true时,这两个键对象的hashCode()方法返回的哈希码也一样.TreeMap实现了SortedMap接口,能对键对象进行排序,和TreeSet一样,TreeMap也支持自然排序和客户化排序两种方式,以下程序中的TreeMap
------解决方案--------------------
集合类Set 是 提供一个容器,可以放置一些对象的组合,但是同一个集合中不存在两个相同的对象
HashSet 是一个哈希集合,它的存储顺序是与哈希值相关的,也就是与这个对象本身的内容是没有直接关联的,即无序的
TreeSet 是一个树状的集合,它是以对象的大小顺序相关的
------解决方案--------------------
Set(集):集合中的对象不按特定方式排列,并且没有重复对象,它的有些实现类能对集合中的对象按特定方式排列.
Map(映射):集合中的每一个元素包含一对键对象和一对值对象,集合中没有重复的键对象,值对象可以重复,它的有写实现类能。
Map有两种比较常用的实现:HashMap和TreeMap.Hashmap按照哈希算法来存取键对象,有很好的存取能力,为了保证HashMap能正常工作,和HashSet一样,要求当两个键对象通过equals()方法比较为true时,这两个键对象的hashCode()方法返回的哈希码也一样.TreeMap实现了SortedMap接口,能对键对象进行排序,和TreeSet一样,TreeMap也支持自然排序和客户化排序两种方式,以下程序中的TreeMap
------解决方案--------------------
楼主,找点系统的资料来看看,比你在这里一问一答要快得多,效果要好得多。你的问题太宽泛了,一句两句说不清楚。
------解决方案--------------------
------解决方案--------------------
------解决方案--------------------
楼主,找点系统的资料来看看,比你在这里一问一答要快得多,效果要好得多。你的问题太宽泛了,一句两句说不清楚。
==========================================================================
我也同意