文稿说明集合类_第1页
文稿说明集合类_第2页
文稿说明集合类_第3页
文稿说明集合类_第4页
文稿说明集合类_第5页
已阅读5页,还剩9页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

Collection是最基本的集合接口,JDK提供的类都继承自Collection的“子接口”,如List和Set。所有实现Collection接口的类都必须提供两个标准的构造函数:无参数的构造函数和有一个Collection参数的构造函数。前者用于创建一个空的Collection,后者用于创建一个新的Collection,允许用户一个Collection。不论Collection的实际类型如何,它都支持一个itor()的方法,该方法返回一个迭代子,可逐一Collection中每一个元素。IItorit=tor();while(it.hasNext())Objectobj=it.next();}由Collection接口派生的两个接口是List和SetMap类型,持有key-value形式的数据——“键值对”Collection子接口ListSetList是有序的Collection,确 元素特定的顺序,这类似于Java的数组Set接口不保证元素的次序,存入Set的每个元素必须是唯一的。加入Set的Object必须定义equals()方法以确保对象的唯一性。ArrayList实现了可变大小的数组,允许对元素进行快速随机,但是向List中间插入与移除元素的速度很慢(类似动态数组)。它允许所有元素,包括null。ArrayList没有同步。如果数组长度LinkedList插入与删除元素开销不大,随机相比则相对较慢(类似链表)。可当堆栈、队列和双Vector是同步的。当一个Itor被创建而且正在被使用,另一个线程改变了Vector的状态,这时将抛出ConcurrentModificationException异常,因此必须捕获该异常。比ArrayList慢。Stack继承自VectorHashSet为快速查找而设计的Set(采用散列函数)HashSet的对象必须定义hashCode()nullTreeSet保持次序的Set,底层 树。使用它可以从Set中提取有序的序列LinkedHashSet:具有HashSet的查询速度,且链表元素的顺序(哈希函数+链表)。于是在使用迭代器遍历Set时,结果会按元素插入的次序显示。Hashtable是同步的,不允许null。继承于陈旧的DictionaryHashMap是非同步的,速度比Hashtable快。允许null。HashMap继承于 内部Hash数组等于Hashtable不同。Map中插入、删除和定位元素,HashMap是最好的选WeakHashMap是一种改进的HashMap,若一个key不再被外部 ,那么该key可以GCTreeMap中所有元素都保持固定的顺序,如果需有序的结果你就应该使用3 (对象的指针),而不是将对象信息Copy一根至数列末位置在多线程环境下,对于非同步的结合和Map,可以用类似ListlistCollections.synchronizedList(newLinkedList(...));或)Set只接受不重复的对象。HashSet提供了最快的查询速度。而TreeSet没必要再在新代码里使用旧类库留下来的Vector,Hashtable和Stack总结一:java的集合。map代表具有映射关系的集合;queue代表队列集合。java集合类主要由两个接口派生:CollectionMap,是集合框架的根接口。下面是其接equals方法返回的是true,set不会接受这两个对象。hasCode()方法返回值也相等。HashSetnull元素。ListArraylistvectorlist类。ListLinkedList类。List接口,也实Dueue接口(双向队列)。可以当成双向队列使用,也可以当成栈使用。Queue用于模拟队列的数据结构。LinkedListArrayDueue是其两个比较常用的实现Map用于保存具有映射关系的数据。Map接口有如下几个常用的实现类:HashMapHashTable、TreeMap。TreeMap是基于树对TreeMap中所有key进行排序。2、HashMapnullkeyvalue。java集合类的一般概述,下面就set、list、map三者之间的关系进行剖析。Set与Map的关系。MapkeysetMap集Set<K>keySet()key组成的set集合。由此可见,Map集合中的所keysetMapkeySet集合,这就MapSetMapkey-valueset集合,也可以实现从Set到Map之间的转换。HashSetHashMap分别作为它们的实现类。两者之间也挺相似的。HashSet的实现就是封装了HashMap对象来元素。它们的本质是一HashSetHashMap的关系,其实TreeMapTreeSet本质也差不多,TreeSet底层也是依赖TreeMap实现。MapList的关系。把Mapkey-value分开来看,从另一个角度看,就可以把Map上看,Listkeyint型的Map。ArrayList和LinkedListArrayList是一种顺序的线性表其底层是采用数组实现的,而LinkedList是链式的线性表。其本质就是一个双向链表。对于随机比较频繁的元ArrayList的总体性能还是优于LinkedList。HashSetHashMap的性能选项。主要有两个方面:容量和负载因子(尺寸/容量)。较低总结二:java集合总结java集合只能保存类型的数据,是对象的Collectionsetlist集合类型的根接口add()如果增加重复元素,则增加失败,返回false Map关系集的形式查看某个映射的内容get(objectkey)key上面的值SetkeySet()keyset中ArrayListlist接口,用于表述长度可度的数组列表nulllist接口的所有功能外,还有以下方法ArrayList()10null的列表ArrayList()null的列表 Vector也实现了list接口,其描述的也是可变长度的对象数组是同步(线程安全的),arryalist是不同步vector()10vector容器 Stack继承了vector,对应了数据结构中的“后进先出”和操作数据结象栈 tor接口描述的是以统一方式对各种集合元素遍历/迭代工具,也称"迭代器"hasNext()true HashSet类实现了set接口,描述典型的set集合结构 TreeSet类也实现了Set,它描述的是set的一种变体——可以实现排序功能的集合将对象元素添加到TreeSet集中时会自动按照某种比较规则将其插入到有序的对象序列中以保证TreeSet集合元素组成的对象序列时刻按照“升序”排列 Comparable接口中定义的compareTo()方法,实现对整体排序所需的比较逻辑 HashMap实现了Map接口,基于哈希表的实现了前述的映射集合结构相关实例请看 Hashtablenull,是同步的,即线程安全的,效率相对要hashmap完全一样Enumeration接口:作用与i 子类properties)且不支持集合元素的移除操作些接口不是很常用,这里就不给实例了Collections定义了多种集合操作的方法,实现对集合元素排序,取极值,批是拷贝,集合结copy(List<?superT>dest,List<?extendsT>src)将所有元素从一个列表到另一frequency(Collection<?>c,Objecto)collection中等于指定对象的元素数max(Collection<?extendsT>coll)collection相关实例请查看 Arrays类定义了多种数组操作方法,实现了对数组元素排序,填充,转换为列表或字符串形sort()byte型数组按数字升序进行排序总结三:java集合总结1、HashSet:equalstrue,hashCode返回相同的整数;哈希表;SortedSetSet排序实现类:TreeSet:二叉树实现的;看API:<E>泛型:表示一个对象; 只需实现i 只有实现了 HashMap:键值对,keyvalue可以重复;keyHashSet;value对应着放;只提供key的;HashMap线程不安全的,允许nullkeyvalue;Hashtablenullkeyvalue;TreeMap:key排好序的Map;keyTreeSet,valuekey;keyComparable接口或TreeMap有自己的构造器;HashSet:remove(Objecto)OHashcodeequals是否相等,定义一个Map;key是课程名称,valueIntegernull对象都可以用作键或值。为了成功地在哈希表中和获取对象,用作键的对象必须实现hashCodeequals法。 C盘下建了一个名为yy.dat执行以下程序,输出heheProperties可以很方便的解析配置文件五、两个工具类ArraysCollectionscollection上进行操作的静态方法HashMapEnumeration,遗留集合使用枚举接口来遍历元素,它有两个方法和 Stack,继承自Vector,实现了栈的功能,提供了push()pop()get(i)set(i)clear(i)Collections是针对集合类的一个帮助类,他提供一系列静态方法实现对各种集合的搜索、排List,Set,MapCollection接口?List,Set是,Map不是小的列表,比较适合构建、和操作任何类型对象的元素列表。List适用于按数值索引Map提供了一个更通用的元素方法。Map

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论