Java技术及其应用:第5章 收集与数据结构应用.ppt

Java技术及其应用:第5章 收集与数据结构应用.ppt

  1. 1、本文档共67页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
5.9 Collections类 这个类是Java收集框架的一个成员,它包含大量静态方法操纵或返回收集。 java.util.Collections 类中定义了多种集合操作方法,实现了对集合元素的排序、取极值、批量拷贝、集合结构转换、循环移位以及匹配性检查等功能,此类完全由在 Collection 上进行操作或返回 Collection 的静态方法组成。 * 5.9.1 静态方法 Collections类的方法都是静态的 sort(ListT list)可以按自然排序对List进行升序排序,还有一个重载的sort方法。 binarySearch()、copy()、fill()、reverse()、rotate()、shuffle()等静态方法操纵List对象。 disjoint()、enumeration()、frequency()、max()、min()等静态方法操纵Collection对象. 对Set和Map也提供了一些静态方法。 * 5.9 Collections类 排序示例【P149例5.14】 Simplesort.java Collections.shuffle(llist); //把原列表搅乱 Collections.sort(llist); //把原列表排序 * 5.9.1 静态方法 5.9 Collections类 5.9.2包装器 java1.1中的类Vector ( ArrayList )、Stack(其中的EmentAt()方法) Hashtable ( HashMap )和 Propeties类。 包装器(wrapper)对指定收集加入新功能,有同步包装器(synchronization wrapper)、不许修改包装器(unmodifiable wrapper)和检查接口包装器(checked interface wrapper)等。Collections类的静态方法对六种收集接口对象Collection、Set、List、Map、SortedSet、 SortedMap都提供了包装器。 比较而言, Vector较同步包装器还是要快一些,但它包含一些继承的操作,使用起来要小心些。 * 5.9.3方便实现 有些方法可以简单地实现收集对象,比如Arrays.asList()就是用数组做参数而形成的列表,但是不能修改。 Collections类也有一些方便方法。 Collections.nCopies()方法产生一个包含n个相同元素的不可变列表,例如: ListString list = new ArrayListString(Collections.nCopies(50, abc); 这就很方便地生成了一个含50个“abc”的列表。 * 5.9.4 Collections类的数据结构应用 Collections类的静态方法 排序(Sorting)采用稍微优化的合并排序,时间复杂度是n log(n) 搅乱(Shuffling)按随机性把原序列搅乱,相当于洗牌。 常规数据处理(Routine Data Manipulation) 包括反向、填充、拷贝、交换、全加入等 有哪些信誉好的足球投注网站(Searching)二分有哪些信誉好的足球投注网站 组合(Composition)计算收集中元素出现频率,还有判定两个收集是否不相交 寻找极值(Finding Extreme Values)等六类。 * 示例Myalgo.java 运行结果: [1, 0, 0, 2, 5, 6, 5, 1, 2, 8] 2 [1, 2, 3, 6, 5, 4, 7, 8, 9, 0] false * 5.9.4 Collections类的数据结构应用 Arrays类 在java.util类库中可以找到Arrays类,它包含很多static方法,提供操作数组的使用功能。 Equals()比较连个数组是否相等 Fill()用每个值填充整个数组 Sort()对数组排序 binarySearch()在已经排好序的数组中查找元素 asList()接受数组为参数,并将其转化为List容器 System.arraycopy()复制数组 * 5.9.4 Collections类的数据结构应用 5.10 抽象实现 java.util包有几个抽象类,是Java平台提供的收集的抽象实现机制,使用户可以自己实现收集接口,以增加功能或提高性能。 它们分别是AbstractCollection,AbstractSet,AbstractList,AbstractSequentialList,AbstractQueue,AbstractMap。 * * List SortedSet Set HashSet LinkedHashSet TreeSet Arra

您可能关注的文档

文档评论(0)

学习让人进步 + 关注
实名认证
内容提供者

活到老,学到老!知识无价!

1亿VIP精品文档

相关文档