Java集合框架之Collection实例解析讲义.docxVIP

Java集合框架之Collection实例解析讲义.docx

  1. 1、本文档共41页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Java集合框架之Collection实例解析讲义

Java集合框架之Collection实例解析1)集合的由来?Java是面向对象语言,操作很多对象,必要时需存储对象,常见容器(数组和StringBuffer或StringBuilder),而数组的长度固定,所以不适合做变化的需求,而StringBuffer(或StringBuilder)存储的是字符串,皆不符合要求。因此集合就应运而生了。2)集合和数组的区别?1:长度限制之别 - 数组长度是固定不变的 - 集合的大小是可变的2:可以存储的类型之别 - 一个数组存储的元素可以是基本类型,也可以是引用类型,且只能存储同一种类型的元素 - 一个集合存储的元素只能是引用类型,但集合可以存储不同类型的元素(但集合一般存储同一种类型)3)java集合框架初窥?图片来源于网络。类已经很全了,不用赘画了。1、Collection之继承体系下面列出了常用的Collection集合的继承关系。Collection |-----List 有序(存储顺序和取出顺序一致),可重复 |----ArrayList ,线程不安全,底层使用数组实现,查询快,增删慢。效率高。每次容量不足时,自增长度的一半,如下源码可知 int newCapacity = oldCapacity + (oldCapacity 1); |----LinkedList ,线程不安全,底层使用链表实现,查询慢,增删快。效率高 |----Vector ,线程安全,底层使用数组实现,查询快,增删慢。效率低每次容量不足时,默认自增长度的一倍(如果不指定增量的话),如下源码可知 int newCapacity = oldCapacity + ((capacityIncrement 0) ? capacityIncrement : oldCapacity); |-----Set 元素唯一一个不包含重复元素的 collection。更确切地讲,set 不包含满足 e1.equals(e2) 的元素对 e1 和 e2,并且最多包含一个 null 元素。 |--HashSet 底层是由HashMap实现的,通过对象的hashCode方法与equals方法来保证插入元素的唯一性,无序(存储顺序和取出顺序不一致),。 |--LinkedHashSet 底层数据结构由哈希表和链表组成。哈希表保证元素的唯一性,链表保证元素有序。(存储和取出是一致) |--TreeSet 基于 TreeMap 的 NavigableSet 实现。使用元素的自然顺序对元素进行排序,或者根据创建 set 时提供的 Comparator 进行排序,具体取决于使用的构造方法。元素唯一。2、Collection泛型接口方法摘要boolean add(E e) 确保此 collection 包含指定的元素(可选操作)。boolean addAll(Collection? extends E c) 将指定 collection 中的所有元素都添加到此 collection 中(可选操作)。 void clear() 移除此 collection 中的所有元素(可选操作)。boolean contains(Object o) 如果此 collection 包含指定的元素,则返回true。boolean containsAll(Collection? c) 如果此 collection 包含指定 collection 中的所有元素,则返回true。booleanequals(Object o) 比较此 collection 与指定对象是否相等。 int hashCode() 返回此 collection 的哈希码值。boolean isEmpty() 如果此 collection 不包含元素,则返回true。 IteratorE iterator() 返回在此 collection 的元素上进行迭代的迭代器。boolean remove(Object o) 从此 collection 中移除指定元素的单个实例,如果存在的话(可选操作)。boolean removeAll(Collection? c) 移除此 collection 中那些也包含在指定 collection 中的所有元素(可选操作)。boolean retainAll(Collection? c) 仅保留此 collection 中那些也包含在指定 collection 的元素

文档评论(0)

441113422 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档