Java程序设计-10-集合.ppt

  1. 1、本文档共35页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
HashSet的继承和实现层次 10.2.3 ArrayList ArrayList List是接口,而ArrayList是一个实现List接口,且大小可变的数组,它实现了所有可选列表操作,并允许包括 null 在内的所有元素。 每个 ArrayList 实例都有一个容量。该容量是指用来存储列表元素的数组的大小。它总是至少等于列表的大小。随着向 ArrayList 中不断添加元素,其容量也自动增长。 另外,ArrayList实例不是同步保护的。 实现比较接口的实例: public class Student implements Comparable{ private String sid; private String name; private Date birthDate; public int compareTo(Object o) { Student s=(Student)o; return pareTo(s.sid); } … } Comparator 一个类只能实现一种比较机制,如果在不同环境下需要对同样的对象采用不同的比较策略进行排序时,就需要用到此接口,例如可以用成绩对Student排序,也可以用学号、姓名、出生日期等进行排序。 方法 分别创建不同的Comparator实现类 实现了Comparator接口的实现类 import java.util.Comparator; public class SIDComparator implements Comparator{ public int compare(Object o1, Object o2) { Student s1=(Student)o1; Student s2=(Student)o2; return s1.getSid().compareTo(s2.getSid()); } } 注:学生类无需实现比较接口 利用SIDComparator实现有序集合 import java.util.Comparator; import java.util.TreeSet; public class ComparatorTest { public static void main(String[] args) { Comparator c = new SIDComparator(); TreeSetStudent studentSet = new TreeSet(c); studentSet.add(new Student(002,Mike)); studentSet.add(new Student(001,Mike)); for(Student s:studentSet){ System.out.println(s.getSid()); } } } 总结 Java的集合特点Set、List、Map、Queue Vector(ArrayList)就是一个可以动态增长的、线程安全的数组 Statck继承于Vector,实现了后进先出 HashSet,一个无序的集,没有重复对象 HashMap定义了一个散列映射,实现了基于关键字存取对象 Iterator是一个用于从集合中按顺序检索对象的接口 Comparator接口,可以使集合按照某种排序策略进行排序 Comparable接口,使得实现接口的对象具有某种排序策略 Java程序设计 第10章 集合框架 学习目标 理解集合的框架 什么是集(Set)、列表(List)和映射(Map),掌握他们之间的差异。 掌握利用迭代顺序访问集合中元素的方法 掌握通过泛型机制限制集合元素类型的方法 通过集合访问,进一步理解基于接口编程的概念 掌握如何构建自定义有序集合的方法 了解并发访问集合可能的风险 集合框架 接口:这是一些抽象的数据类型,通过抽象接口定义,允许操纵集合独立于它的具体实现。 实现:满足各种各样要求的集合类具体实现了这些接口的定义,本质上,这些类定义了满足不同要求的数据结构。 算法:算法满足了各种计算要求,例如检索、排序、插入、获取等,为适应不同目的的集合提供了同名但不同的算法实现(多态性)。 10.1.2集合的接口 Java提供的集合类很多,每个集合类都有自己特定的实现,应用在特定的场合,但幸运的是,应用程序可以通过接口发布自己的实现,使得外部程序可以通过公用接口来访问集合内对象,而不用考虑内部是怎么实现的。 set(集)、sequence(序列)、map(映射)和Queue(队列) 集(set)中的对象通常不按任何特定的方式排列,而且集

文档评论(0)

yan666888 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档