




全文预览已结束
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
集合框架Set接口 扩展Collection接口 不允许重复元素 对 add()、equals() 和 hashcode() 方法添加了限制 HashSet和TreeSet是Set的实现SortedSet接口 扩展了Set接口 元素按升序排序 重要异常 ClassCastException NullPointerException List接口 具有顺序的集合 扩展了Collection接口 元素可以通过其整型下标访问 可以包含重复元素 方法分类定位方法get()、set()、add()、remove()、addAll() 搜索方法indexOf() 和 lastIndexOf() ListIterator方法listIterator() 和 subList() Map接口 将键映射至值的对象 每个键最多都只能映射至一个值重要方法基本操作 put()、get()、remove()、containsKey()、containsValue()、size() 和 isEmpty() 批操作 putAll() 和 clear()集合视图 keySet()、values() 和 entrySet() 重要集合类(续) ArrayList 类是 List 接口的可变大小数组实现 AbstractSet 类提供 Set 接口的框架实现 HashSet 类为基本操作提供固定时间性能 TreeSet 类确保排序集将按元素升序ArrayList和LinkedList的比较 ArrayList底层采用数组完成,而LinkedList则是以一般的双向链表(double-linked list)完成,其内每个对象除了数据本身外,还有两个 引用,分别指向前一个元素和后一个元素。 如果我们经常在List的开始处增加元素,或者在List中进行插入和删除操作,我们应该使用LinkedList,否则的话,使用ArrayList将更加快速。HashSet和TreeSet的比较 HashSet是基于Hash算法实现的,其性能通常都优于TreeSet。我们通常都应该使用HashSet,在我们需要排序的功能时,我们才使用TreeSet。HashMap和TreeMap的比较 和Set类似,HashMap的速度通常都比TreeMap快,只有在需要排序的功能的时候,才使用TreeMap。算法class AlgorithmExample public static void main(String args) LinkedList link = new LinkedList(); link.add(new Integer(10); link.add(new Integer(35); link.add(new Integer(23); link.add(new Integer(54); link.add(new Integer(36); Comparator cmp = Collections.reverseOrder(); Collections.sort(link, cmp); Iterator it = link.iterator(); System.out.println(逆序排序的列表为: ); while (it.hasNext() System.out.println(it.next(); System.out.println(给定列表中的最大值为:+Collections.max(link); System.out.println(给定列表中的最小值为:+Collections.min(link);集合框架的优点 提供一组可用的集合接口 提供有效的数据结构和算法 可以方便地扩展或改写集合 接口的实现都是可交换的 使设计新 API 的工作降到最少 接口和算法的可重用性Compator排序public class StuCompator implements Comparator private int type;public StuCompator() public StuCompator(int type)this.type=type;public int compare(Object arg0, Object arg1) int result=0;Student s1=(Student)arg0;Student s2=(Student)arg1;if(type=1) if(s1.getAge()s2.getAge() result=1;if(type=2)if(s1.getId()s2.getId() result=1;/ TODO Auto-generated method stubreturn result;2.List集合排序Student s1=new Student(100,lisi,20);Student s2=new Student(200,wangwu,30);List list=new ArrayList();list.add(s1);list.add(s2);s1=null;s2=null;/1 getfor(int i=0;ilist.size();i+)Student s=(Student)list.get(i);System.out.println(s.getName();3迭代器的通用方法Student s1=new Student(100,lisi,20);Student s2=new Student(200,wangwu,30);List list=new ArrayList();list.add(s1);list.add(s1);list.add(s2);s1=null;
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年建筑行业工程师资格认证考试指南及模拟题集
- 电力供应基础知识培训总结
- 2025年电力工程师中级实操技能考试指南与模拟题集
- 2025年初级新媒体运营人员面试实战指南及预测题
- 2025年厨师长中级面试技巧及实操模拟题答案
- 2025年初级设计师面试攻略与模拟题详解
- 2025年高考数学复习冲刺卷及答案详解
- 2025年新员工入职前培训资料仓库管理面试模拟题及解答指南
- 2025年特岗教师招聘考试英语语法与写作模拟题详解
- 2025年特岗教师招聘考试初中数学命题趋势分析
- DB31/T 375-2022柑橘栽培技术规范
- 马克思主义与社会科学方法论课后思考题答案
- 内蒙古交通集团招聘储备人员真题2024
- 2025重庆对外建设(集团)有限公司招聘10人笔试参考题库附带答案详解
- 中医八纲辩证
- 2025年度中国对非洲二手车出口及非洲重点进口国分析白皮书-特易资讯-2025
- 马凳筋专项方案
- 厂房临时用电施工方案
- 成人术后口渴症状评估与管理专家共识
- 模块化建筑快速搭建系统行业跨境出海战略研究报告
- 公园休闲座椅施工方案
评论
0/150
提交评论