- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第9章 集合框架和实用工具
集合概述 什么是集合? 集合是一个动态的对象数组 普通数组的大小不可改变,当向数组中增加数据时需考虑数组的容量。集合大小不确定,可以任意扩充或减少。 为了使程序方便地存储和操纵数目不固定的一组数据,JDK类库中提供了Java集合,所有Java集合类都位于java.util包中。与Java数组不同,Java集合不能存放基本数据类型,而只能存放对象的引用。为了表达方便,我们简称对象。 Java集合主要包括三种类型:Set(集),List(列表),Map(映射)。 Java集合类框图 二、Java集合类框图 说明: 1、三个核心接口: (1)Collection:存放的是一个对象,每次存放单个对象。 (2)Map:每次存放一对值。key--?value。 (3) Iterator:输出接口。只要是集合都要去使用Iterator输出。 2、Collection:在一般开发中为了清楚地表现处理数据的存放,往往不直接使用Collection接口。 3、Collection接口的两个子接口:List和Set 4、List接口如果则必须使用其子类ArrayList或LinkedList。 5、ArrayList:代表长度可以变化的数组。允许对元素进行快速的随机访问,但是向ArrayList中插入与删除元素速度较慢。 6、 List最基本的是顺序向其内加入数据。 7、向对象数组中加入数据用add(Object obj) 8、ArrayList加入数据后加入数据的顺序就是输出的顺序,是按顺序操作的 9、LinkedList:双向链表。向LinkedList中插入和删除元素的速度较快,随机访问的速度较慢。它单独具有addFirst() 、addLast()、getFirst()、getLast()、removeFirst()、removeLast()方法。 Vector类 3. 常用的方法 (1)向向量中添加对象 ① void addElement(Object obj):在向量的最后增加一个元素。 ② void insetElementAt(Object obj, int index):在向量的指定位置插入一个元素。 (2)从向量中删除对象 ① void removeAllElement( ):删除向量中的所有对象。 ② void removeElement(Object ob):删除向量中一个指定的对象(仅删除第一次出现的对象)。 ③ void removeElementAt( int index):删除向量中一个指定位置上的对象。 Vector类 3. 常用的方法 (3)搜索向量中的对象 ① Object firstElement( ):返回向量的第一个对象。 ② Object lastElement( ):返回向量的最后一个对象。 ③Object ElementAt(int index ):返回向量中指定位置的对象。 ④Boolean contains(Object elem):如果对象在这个向量中,则返回true。 (4)获取向量的基本信息 ① int capacity( ):返回向量的当前容量。 ② int size( ):返回向量的对象个数。 【例9-5】使用Vector类的示例。 import java.util.Vector; class VectorTest{ public static void main(String[] args){ Vector vec=new Vector(3); System.out.println(旧的向量容量为:+vec.capacity()); vec.addElement(new Integer(1)); vec.addElement(new Integer(2)); vec.addElement(new Integer(3)); vec.addElement(new Float(2.78)); vec.addElement(new Double(2.78)); System.out.println(新的向量容量为:+vec.capacity()); System.out.println(向量大小为:+vec.size()); System.out.println(第一个元素为:+(Integer)vec.firstElement()); System.out.println(最后一个元素为:+vec.lastElement()); if(vec.contains((new Integer(2)))) System.out.println(查找到值为2的元素); vec. removeElementAt(1);
文档评论(0)