`
tanglei198577
  • 浏览: 59732 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类

The difference of some collections

    博客分类:
  • java
阅读更多

The content of this chapter is from Think in Java 3th ,bruce ecekl

ArrayList 
由数组实现的 List。允许对元素进行快速随机访问,但是向 List 中间插入与移除元素的速度很慢。ListIterator 只应该用来由后向前遍历 ArrayList,而不是用来插入和移除元素,因为那比 LinkedList 开销要大很多。
LinkedList
对顺序访问进行了优化,向 List 中间插入与删除的开销并不大。随机访问则相对较慢。(使用 ArrayList 代替。)还具有下列方法:addFirst(),addLast(),getFirst(),getLast(),removeFirst(),和 removeLast(),这些方法(没有在任何接口或基类中定义过)使得 LinkedList 可以当作堆栈、队列和双向队列使用。


Set (interface) 存入 Set 的每个元素都必须是唯一的,因为 Set 不保存重复元素,加入 Set 的元素必须定义 equals()方法以确保对象的唯一性。Set 与 Collection 有完全一样的接口。Set 接口不保证维护元素的次序。   

HashSet*:
   为快速查找设计的 Set,存入 HashSet 的对象必须定义hashCode().
TreeSet:
   保持次序的 Set,底层为树结构。使用它可以从 Set中提取有序的序列。
LinkedHashSet:
   具有 HashSet 的查询速度,且内部使用链表维护元素的顺序(插入的次序)。于是在使用迭代器遍历 Set时,结果会按元素插入的次序显示。

HashMap*:
         Map 基于散列表的实现。 (取代了 Hashtable)插入和查询“键值对”的开销是固定的。可以通过构造器设置容量

capacity 和负载因子 loadfactor,以调整容器的性能。

LinkedHashMap:
         类似于 HashMap,但是迭代遍历它时,取得“键值对”的顺序是其插入次序,或者是最近最少使用(LRU)的次序。只比

HashMap 慢一点。而在迭代访问时反而更快,因为它使用链表维护内部次序。

TreeMap:
      基于红黑树数据结构的实现。查看“键”或“键值对”时,它们会被排序(次序由 Comparable或 Comparator 决定,稍后会讨论)。TreeMap的特点在于,你得到的结果是经过排序的。TreeMap 是唯一的带有 subMap()方法的 Map,它可以返回一个子树。

WeakHashMap:
            弱键(weak key)Map,Map 中使用的对象也被允许释放;这是为解决特殊问题设计的。如果没有 map 之外的引用指向某个“键”,则此键”可以被垃圾收集器回收。

0
0
分享到:
评论

相关推荐

    Collections

    The Apple documentation on collections provides a comprehensive overview of various types of collections, their uses, and how to work with them effectively. #### Accessing Indexes and Easily ...

    commons-collections4-4.1

    Commons-Collections seek to build upon the JDK classes by providing new interfaces, implementations and utilities. There are many features, including: Bag interface for collections that have a number...

    commons-collections.jar

    commons-collections-20040616.jar, commons-collections-3.2-osgi.jar, commons-collections-3.2-sources.jar, commons-collections-3.2.1.jar, commons-collections-3.2.2-javadoc.jar, commons-collections-3.2.2...

    collections-of-the-basis-of-compute-system-2nd.bin

    collections-of-the-basis-of-compute-system-2nd.bin

    Data Structures and the Java Collections Framework(3rd) 无水印pdf

    Data Structures and the Java Collections Framework(3rd) 英文无水印pdf 第3版 pdf所有页面使用FoxitReader和PDF-XChangeViewer测试都可以打开 本资源转载自网络,如有侵权,请联系上传者或csdn删除 本资源...

    Power Collections

    Power Collections is free for all to use within the bounds of the standard Eclipse End user license agreement. If you feel you would like to contribute, please feel free to contact one of the project ...

    commons-collections4-4.4-API文档-中文版.zip

    赠送jar包:commons-collections4-4.4.jar; 赠送原API文档:commons-collections4-4.4-javadoc.jar; 赠送源代码:commons-collections4-4.4-sources.jar; 赠送Maven依赖信息文件:commons-collections4-4.4.pom;...

    数据结构和Java集合框架《Data Structures and the Java Collections Framework》

    本资源《Data Structures and the Java Collections Framework》旨在深入讲解这两个主题,帮助开发者更好地理解和应用它们。 数据结构是指在内存中组织数据的方式,它决定了数据的存储和访问效率。常见的数据结构...

    collections4/collections15 jar

    在Java编程中,`collections4`和`collections15`可能指的是Apache Commons Collections库的不同版本。这个库是Apache软件基金会提供的一个强大且实用的集合框架扩展,它为Java的内置集合类提供了更多的功能和优化。...

    commons-collections-3.2.2-API文档-中文版.zip

    赠送jar包:commons-collections-3.2.2.jar; 赠送原API文档:commons-collections-3.2.2-javadoc.jar; 赠送源代码:commons-collections-3.2.2-sources.jar; 赠送Maven依赖信息文件:commons-collections-3.2.2....

    Java邮件开发Fundamentals of the JavaMail API

    Fundamentals of the JavaMail API Presented by developerWorks, your source for great tutorials ibm.com/developerWorks Table of Contents If you're viewing this document online, you can click ...

    commons-collections-3.2.2-

    Apache Commons Collections是一个Java库,包含了丰富的集合操作工具和算法,为Java平台的开发提供了大量的实用类和接口。这个"commons-collections-3.2.2-"版本是该库的一个特定发行版,主要用于解决WebLogic服务器...

    commons-collections4-4.1-API文档-中文版.zip

    赠送jar包:commons-collections4-4.1.jar; 赠送原API文档:commons-collections4-4.1-javadoc.jar; 赠送源代码:commons-collections4-4.1-sources.jar; 赠送Maven依赖信息文件:commons-collections4-4.1.pom;...

    The Book of F#

    F# brings the power of functional-first programming to the .NET Framework, a platform for developing software in the Microsoft Windows ecosystem. If you’re a traditional .NET developer used to C# and...

    Java Collections Apress

    Java Collections Apress This book describes how to use this Collections Framework. We'll also look at some of the common alternate frameworks available.

    commons-collections-3.2.1.jar

    《Apache Commons Collections 3.2.1:Java集合框架的强大扩展》 Apache Commons Collections是Apache软件基金会的一个项目,它提供了一系列强大的、用于处理Java集合框架的工具类和算法。在这个项目中,`commons-...

    commons-collections4-4.1.jar

    《Apache Commons Collections 4.1在Java中处理Excel2007文件的解决方案》 Apache Commons Collections库是Java开发中的一个强大工具,它提供了一系列高效、实用的数据结构和算法。在处理Excel2007(.xlsx)文件时...

Global site tag (gtag.js) - Google Analytics