- 1、本文档共6页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Collection:
集合框架的由来:因为每个容器对象的自身的数据结构不同,所以对它们进行单独的描述和对象封装,并不断的向上抽取共性内容,这样变形成了集合框架。
定义:集合就是一个容器、用来存储对象、长度可变。
理解:其实班级就是一个容器,班上的每一个学生都是单独封装了功能的对象,因为班级中的人数由于有人请假每天都再变化,所以长度是可变的,
常见方法:
增加:
add();增加一个元素
addAll();增加一部分元素。
删除:
Remove();删除一个元素,会返回boolean类型,其实用到是equals方法,所以判断是否有符合要求的元素。如果删除成功会改变集合的长度。下面同理。
removeAll();删除全部
Clrea();清空容器
总结:在这里要尤其注意,面试题中经常考到。
判断:
Contains();是否包含,也就说要所有的都包含在其中才算包含,否则不算包含。
isEmpty();集合是否为空
Size();集合长度。
取:
retainAll();取交集。
理解总结:
班级就是一个容器,班级中进来一位新生就是Add()添加一个元素,来了一堆同学就是addAll,班上出去一个学生就是remove删除一个,出去一部分就是removeAll删除一部分,班级是不是有人,isEmpty,班上是否包含张三contains,班上有多少人size。班上是否包含隔壁班的同学retainAll.去交集。
集合使用细节:
直接存储基本数据类型值也是可以的,因为JDK1.5后有自动装箱,会将基本数据类型转成对象,JDK1.4绝对不行。Eg:coll.add(3)
集合对象中存储的其实是对象的元素的引用。
Add的参数是Object类型,可以接收所有的类型的对象,会出现向上转型,取出元素时类型还是Object不能使用具体对象的特有内容,想要使用特有内容向下转型。Eg:Object obj=obj;想要取出访问子类的特有方法,向下转型,String s=(String)it.next();sop(s.length());
|--List:有序列表(存取顺序是一致的)因为该子体系元素中有索引或角标,可以存储重复的元素。
常用方法:
//添加:
List.add(1,abc7);//[abc1,abc7,abc2,abc3]在角标1位置往后顺延。
//删除
Object obj=list.remove(2);//删除指定索引上的元素,根据角标删除会返回来被删对象
Sop(obj);//obj:abc2 [abc1,abc7,abc3]
//获取:获取指定角标上的元素并返回,这也是和remove的区别。
Object obj=list.get(1);
Sop(obj);//obj:abc1 [abc1,abc7,abc3]
//获取元素的索引,如果元素存在返回索引,不存在返回-1,依次还可以判断元素是否存在。
Int index=list.indexOf(abc1);
Sop(index);//index=1
//获取指定的子列表sublist(fromIndex,toindex)包含头不包含尾
List=list.sublist(1,2);//[abc1]
//修改:
Object obj=list.set(1,haha);
Sop(obj);//[abc1,haha,abc3]
记住:只有list集合支持增删改查。
|--ArrayList:低层是数组数据结构,不同步,查询快,增删慢,
|--LinkedList:低层是链表数据结构,不同步,查询慢,增删较快。
|--Vector:低层是数组数据结构,同步,安全效率低,还有其特有方法枚举。由于名称过长被iterator取代。
总结:掌握这些集合的方法,它们的方法和list集合的方法很相似,重点掌握各种集合的特点,尤其是前两个子类的低层数据结构。
|--Set
无序、不能存储重复的元素、方法个collection集合的方法一致。
|--HashSet
低层是哈希表数据结构,无序,能保证元素的唯一性,是根据元素的两个方法来保证元素的唯一性的,hasCode和equals方法。只有当hasCode算出的哈希值相同的情况下才去判断equals方法是否为true.如果为真说明两个元素相同,不存储,所以往hashSet集合中存储自定义对象时要覆写hasCode方法和equals方法,
重点掌握上述保证唯一性的方法以及哈希表内存原理实现。
|--linkedHashSet
以元素的插入顺序来维护集合的连接表,允许以插入的顺序的集合中迭代的
怎么去理解?
HashSetString hs=new HashSetString();
hs.add(B);
hs.add(A);
hs.add(D
您可能关注的文档
- 实验五-视图及查询.doc
- 南大 数据库原理第二次作业指南.doc
- 第八章 公司概论作业题2、3、5次作业.doc
- 第七章 模式识别习题答案.doc
- 《施工组织和计划》复习试题答案.doc
- 系统平台实验7-线程同步和多线程编程.doc
- 第3课 再践javascript对象、原型、属性、构造函数、扩展、json.doc
- 管道试压和冲洗方案.doc
- 第八章 客户端装维上门服务要求.doc
- 数据库原理与应用教学目的、内容、重点、难点.doc
- 高中数学 1-3-1-1 函数的单调性能力强化提升 新人教A版必修1.doc
- -高中语文 第6课辛弃疾词两首同步检测 新人教版必修4 .doc
- 高中物理 1.5 电势差练习 新人教版选修3-1.doc
- 高中英语 Unit4 Making the+news综合测试题 新人教版必修5.doc
- 高中数学 4-2-3 直线与圆的方程的应用能力强化提升 新人教A版必修2.doc
- 高中数学 第一次月综合素能检测 新人教A版必修1.doc
- 高中数学 3.4 简单线性规划(第1课时)练习 北师大版必修5.doc
- 高中数学 2-2-2 平面与平面平行的判定能力强化提升 新人教A版必修2.doc
- 高中数学 1-3-2 球的体积和表面积能力强化提升 新人教A版必修2.doc
- 高中数学 3.3 二元一次不等式组与简单的线性规划问题第3课时练习 .doc
文档评论(0)