- 1、本文档共38页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
《Java程序设计基础》第9章:Java的集合类
第9章 Java的集合类 学习重点: 集合类与普通数组的区别 各种集合类的特点及适用条件 第9章 Java的集合类 9.1 集合类概述 9.2 原集合类 9.2.1 数组 9.2.2 Vector类 9.2.3 BitSet类 9.2.4 Stack类 9.2.5 Hashtable类 9.3 新集合类 9.3.1 Collection 9.3.2 List 9.3.3 Set 9.3.4 Map 9.3.5 Utilities 9.4 练习题 9.1 集合类概述 集合类是用来存放某类对象的。我们知道,数组是有固定长度的,在定义数组的时候,就需要确定这个数组的内存空间,但很多时候我们不能确定需要存放多少元素,这时数组就显得很不方便,这时就需要使用集合类。 集合类有一个共同特点,就是它们只容纳对象(实际上是对象名,既指向地址的指针),这一点和数组不同,数组可以容纳对象和简单数据。 集合类容纳的对象都是Object类的实例,一旦把一个对象置入集合类中,它的类信息将丢失,也就是说,集合类中容纳的都是指向Object类对象的指针。 9.2 原集合类 9.2.1 数组 例9.1 数组中容纳对象和简单数据 这个程序中把对象和简单数据分别作为数组的元素,然后对它们分别操作 程序代码 上面的程序中我们用同样的格式设计了两种数组:对象数组和简单数据类 型数组,以进行比较。 数组a只是初始化成一个null的对象名(指针),此时,编译器会禁止我们对 这个指针进行任何实际操作。 数组b被初始化成指向由Weeble类对象构成的一个数组,但那个数组里实际 并未放置任何Weeble对象,所以数组b的元素都是空指针,不能直接 使用,然而,我们仍然可以查询那个数组的大小,因为b指向的是一 个合法对象。这个程序中还用到对象间的赋值,对象间赋值传递的是 指针。 例9.2 对象数组的传递 这个程序中我们用一个数组来存放香味名(字符串对象),然后从这个数 组中随机抽出香味名,形成20个随机排列,并输出。计算中每次都形成一 个新的对象数组,并在不同的方法中传递。 程序代码 flavorSet()方法创建了一个名为results的String数组。该数组的大小为n,具体数值取决于传递给方法的自变量。随后,它从数组flav里随机挑选一些香料(Flavor),并将它们置入results里,并最终返回results。返回数组与返回其他任何对象没什么区别,返回的都是一个指针。 另一方面,当flavorSet()随机挑选香料的时候,它需要保证以前挑选过的香料不会再次出现。 main()能显示出20个完整的香味名集合,所以我们看到flavorSet()每次都用一个随机顺序选择香料。 9.2.2 Vector类 该类实现了可变数组。和数组一样,它的元素可通过下标进行访 问。Vector类的对象通过capacity和capacityIncrement两个值来改 变集合的容量,capacity指示集合最多能容纳的元素个数, capacityIncrement指示每次增加多少容量,而不是一个一个增加 的。 这个类有3个属性、多个构造函数和许多其他方法。下面列举几个方法: void addElement(Object obj)——在集合的最后增加一个元素 void add(int index,Object element)——在指定位置增加一个元素 Object elementAt(int index)——返回指定位置的元素 void insertElementAt(Object obj,int index)——在指定位置插入元素 void removeElementAt(int index)——删除指定位置的元素 int catacity()——返回当前容量 int size()——返回集合的元素个数 例9.3 集合中元素必须是同类的对象 程序代码 这个程序中只有在执行((Cat)cat
您可能关注的文档
- 《Oracle_10g入门与提高》第7章:存储结构管理.ppt
- 《Oracle_10g入门与提高》第5章:SQL语言基础.ppt
- 物理光学 第四章_光的衍射2.pdf
- 物理光学 第六章_光的吸收、色散和散射3.pdf
- 物理光学 第六章__光的吸收、色散和散射.pdf
- 《Office_2003三合一自动化办公教程》第2课:Word_2003即学即会.ppt
- 微机原理课件 第二章系统结构.pdf
- 微机原理课件 第9章_并行接口.pdf
- 微机原理课件 第6章_基本输入输出接口技术.pdf
- 微机原理课件 第4章_半导体存储器及其接口.pdf
- 小学语文写作指导古诗词鉴赏与现代表达技巧教学研究课题报告.docx
- 小学语文学科素养评价体系构建研究教学研究课题报告.docx
- 小学语文学习与几何体积表面积关系教学研究课题报告.docx
- 小学美术课程中的素描技法训练与创意作品设计研究教学研究课题报告.docx
- 小学语文与现代文学研究教学研究课题报告.docx
- 小学美术课程中水彩画技法探究与实践教学研究课题报告.docx
- 小学美术课程中美术教育对儿童情感发展的影响研究教学研究课题报告.docx
- 小学美术课程色彩构成与创意绘画技法教学研究课题报告.docx
- 精品解析:2024届江苏省东海县石榴高级中学高三下学期5月模拟考试化学试题(解析版).docx
- 小学美术课程中水彩画技法与创作研究教学研究课题报告.docx
最近下载
- CD33漫反射型操作说明书中文版.pdf
- 电力牵引传动与控制.ppt
- 人教版-物理-八年级下册-71《力》习题及答案.pdf VIP
- 初中物理八年级下册力学经典习题(附解析).pdf VIP
- 2024年土地抵押借款合同范本6篇.docx
- 政治-江苏省苏州市2024-2025学年2025届高三第一学期学业期末质量阳光指标调研卷试题和答案.docx
- 国际机器人联合会(IFR):2024世界机器人报告(中文版).pdf
- 2024届高三九省联考地理:新疆联考2024届高三新高考适应性测试地理试卷(含解析).pdf VIP
- Siemens 西门子家电 洗碗机 SJ656X26JC 使用说明书_2.pdf
- 2024离婚起诉书离婚起诉状【范本】.pdf
文档评论(0)