配色: 字号:
Java语言程序设计基础课件ppt第8章 常用类库-3
2022-08-19 | 阅:  转:  |  分享 
  
第8章常用类库对象的集合对象数组可以用来保存多个对象元素类型必须一致,数目固定Java提供一套集合(Collection)类,其中
提供了完整的方法用来保存和操纵对象。集合类定义在java.util包中。Collection框架接口部分Collectio
n:一组独立对象List:其中元素有序,可重复;Set:其中元素无序,不可重复;Map:一组成对的“键值对”对象Colle
ction接口添加对象元素的方法booleanadd(Objecto)booleanaddAll(Collection
c)删除元素方法booleanremove(Objecto)booleanremove(Collectionc)
voidclear()booleanretainAll(Collectionc)Collection接口判断集合中元素
的方法booleanisEmpty()booleancontains(Objecto)booleancontains
All(Collectionc)intsize()与其他对象转换的方法Iteratoriterator()Obje
ct[]toArray()Collection接口两个子接口Set接口集合中元素无序,不重复用法与Collectio
n完全相同List接口传统的链表,元素有序,允许重复。比Collection多些处理顺序的方法。List接口在指定位置
上添加元素voidadd(intindex,Objecto)booleanaddAll(intindex,Colle
ctionc)删除指定位置上的元素Objectremove(intindex)获取某个/某些元素Objectget
(intindex)ListsubList(intfromIdex,inttoIndex)List接口查找元素in
tindexOf(Objecto)intlastIndexOf(Objecto)修改位置上的元素Objectset
(intindex,Objecto)转换成迭代器元素ListIteratorlistIterator()ListIte
ratorlistIterator(intindex)Map接口用于组织一组成对的“键值对”对象每个元素包括两部分:键
(key)值(value)键(key)不能重复,值(value)可以重复。Map接口添加元素方法Objectput(O
bjectkey,Objectvalue)voidputAll(Mapm)获取元素方法Objectget(Obje
ctkey)删除元素Objectremove(Objectkey)Map接口转换成其他集合的方法Setentry
Set()Collectionvalues()SetkeySet()判断是否存在key和value方法boolean
containsValue(Objectvalue)booleancontainsKey(Objectkey)其他接口
SortedSet接口一种按升序排列的Set其实现类TreeSetSortedMap与SortedMap类似实现类Tre
eMap具体实现类Vector(一种Collection)ArrayList(一种List)HashSet(一种Set)
Hashtable(一种Map)Vector(向量)一种动态数组,元素只能是对象,对象类型可以不同。创建向量:Vector
v=newVector();添加元素:v.addElement(anObject);获取元素:Objectan
Object=v.elementAt(0);Vector获取向量中元素个数:intnum=v.size();插入
一个元素:v.insertElement(anObject,4);替换指定下标的元素:v.setElement(anOb
ject,4);删除指定下标的元素:v.removeElement(4);实例:VectorTest.javaArrayL
istArrayList使用数组方式实现List接口,它的检索效率很高。ArrayList可以按照List使用示例:Arra
yListTest.javaLinkedListArrayList使用数组方式实现List接口检索效率很高删除效率很
低。LinkedList使用双向链表方式实现List接口删除效率很高检索效率很低。HashSet一个实现Set接口的
具体类集合中元素无序元素不重复元素值可以为空(null)示例:HashSetTest.javaHashtable实现了
Map接口的具体类,用于存储映射(Map)关系。与ArrayList使用下标数字来确定对象不同,它使用一个对象(键)来确定另一个
对象(值)。键不能重复,也不能为空(null)示例:HashtableTest.java常用的Map:HashMap和Tre
eMapIterator(迭代器)提供了一种对各种对象集合统一遍历的方式。主要方法:booleanhasNext()O
bjectnext()voidremove()示例1:IteratorTest.java示例2:IteratorTest
2.java总结总结数组保存类型明确的对象,可以是多维的,也可以保存基本数据类型数据,但是数组一旦生成,其容量不能改变。
Collection保存单一元素,而Map保存相关联的键值对。总结与数组类似,List也建立数字索引与对象的关联,可以认为数组
和List都是排好顺序的集合。List是可以自动扩充容量。但是,List不能保存基本数据类型的数据,只能保存Object引用,因此
,取元素后需要作类型转换。如果需要作大量的随机访问(检索),就使用数组或ArrayList,如果要经常从集合中插入或删除元素,应
该使用LinkedList。总结队列、双向队列以及栈的行为,可以由LinkedList来实现。Map是一种将对象与对象相关联的设计。常见Hashtable、HashMap和TreeMap,其中HashMap与Hashtable相似,TreeMap侧重于排序。Set不接受重复元素。HashSet提供最快的查询速度,而TreeSet保持元素处于排序状态。
献花(0)
+1
(本文系在羡智库原创)