- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第10章 集合与泛型 本课教学内容 集合API Collection与Iterator List、LinkedList与ArrayList Set、HashSet与TreeSet Map及其实现类 Java泛型 简介 集合 将多个元素组成一个单元的对象 用于存储、检索、操纵和传输数据 集合框架 提供用于管理对象集合的接口和类 集合框架包括接口、实现和算法 接口: 表示集合的抽象数据类型 实现: 集合接口的具体实现 算法: 提供对实现集合接口对象的通过的算法,如查找和排序。 集合框架中的接口 所谓框架就是类库的集合。集合框架就是一个用来表示和操作集合的统一的架构,包含了实现集合的接口与类。 集合框架中的实现类 Collection接口 Collection接口 Iterator接口 Iterator接口 Iterator接口 List接口 ListIterator接口 ListIterator接口 ListIterator接口 ListIterator接口 ListIterator接口 ListIterator接口 ListIterator接口 ArrayList ArrayList类和LinkedList类 示例:ArrayList LinkedList类 LinkedList类 示例:LinkedList 稍等一下 Set接口 Comparable接口 Comparable接口 示例:Comparable Comparator接口 若一个类不能用于实现 java.lang.Comparable,您可以提供自己的 java.util.Comparator 行为。 如果您不喜欢缺省的 Comparable 行为,您照样可以提供自己的 Comparator。 Comparator 的 compare() 方法的返回值和 Comparable 的 compareTo() 方法的返回值相似。在此情况下,如果排序时第一个元素出现在第二个元素之前,则返回一个负值。如果第一个元素出现在后,那么返回一个正值。否则,返回零。 SortedSet接口 SortedSet是扩展了Set的一个特殊接口,它保持元素的有序顺序。 SortedSet接口为集的视图(子集)和它的两端(即头和尾)提供了访问方法。 添加到SortedSet实现类的元素必须实现Comparable接口,否则必须给它的构造方法提供一个Comparator接口的实现。 示例:SortedSet HashSet HashSet扩展AbstractSet并且实现Set接口。 该类集使用散列表进行存储。 在散列(hashing)中,一个关键字的信息内容被用来确定唯一的一个值,称为散列码(hashcode)。而散列码被用来当作与关键字相连的数据的存储下标。 存储在HashSet中的元素必须正确覆盖java.lang.Object中定义的hashCode()方法。 示例:HashSet TreeSet类 TreeSet为使用树结构进行存储的Set接口提供了一个工具 对象按升序存储。 访问和检索是很快的。 在存储了大量的需要进行快速检索的排序信息的情况下,TreeSet是一个很好的选择。 示例:TreeSet TreeSet hs = new TreeSet(); hs.add(D); hs.add(E); hs.add(F); hs.add(A); hs.add(B); hs.add(C); hs.add(A); System.out.println(hs); HashSet和TreeSet类的比较 HashSet和TreeSet类是支持Set接口两种普通的实现,TreeSet类实现了SortedSet接口。 HashSet是基于Hash算法实现的,其性能通常都优于TreeSet。在更多情况下,我们会使用HashSet存储重复自由的集合。 当我们要从集合中以有序的方式插入和抽取元素时,TreeSet实现会有用处。为了能顺利进行,添加到TreeSet的元素必须是可排序的。 稍等一下 创建一个 HashSet,并往里添加了一组名字Bernadine; Elizabeth; Gene; Elizabeth; Clara ,其中有个名字Elizabeth添加了两次。接着,程序把集中名字的列表打印出来。接着,程序把集作为 TreeSet 来处理,并显示有序的列表。 Map接口 Map接口不是Collection接口的继承。 Map接口用于维护关键字-值对(key-value pairs)。描述了从不重复的关键字到值的映射。 给定一个关键字,可以得到它的值。关键字和值都是对象,每一对关键字/值,叫做一项。 关键字必须是唯一的。但值是可以被重复的。 有些映射可以接收null关键字和
文档评论(0)