`
暗黑小菠萝
  • 浏览: 46831 次
  • 性别: Icon_minigender_2
  • 来自: 大连
社区版块
存档分类
最新评论

Java集合类总结

    博客分类:
  • Java
阅读更多
最近有时间,重新啃一遍集合,提升代码质量,招聘必备,粗略总结,持续更新!!!
贴链接:http://www.360doc.com/content/12/0717/15/7662927_224736595.shtml
http://skyuck.iteye.com/blog/526358

集合框架接口

Collection
蓝色为接口,红色常用实现类
Collection
|_____Set(HashSet,LinkedHashSet)
|         |_____SortedSet(TreeSet)
|_____List(LinkedList,ArrayList)

Set:不能包含重复的元素,子接口SortedSet是一个按照升序排列的元素的Set。
List:可以包含重复的元素,是一个有序的集合,提供了按索引访问的方式,有次序,位置不改变。
Iterator迭代器。

ArrayList
集合元素可以重复,可以存在多个null;
可以保持元素插入的顺序;
是用数组实现的,读取速度快,插入与删除速度慢(因为插入与删除时要移动后面的元素),适合于随机访问;
不是同步的,非线程安全;

LinkedList
集合元素可以重复;
可以保持元素的插入顺序;
双向链表来实现,删除与插入速度快,读取速度较慢,因为它读取时是从头向尾(如果节点在链的前半部分),或尾向头(如果节点在链的后半部分)查找元素。因此适合于元素的插入与删除操作;
不是同步的,非线程安全;

HashSet
集合元素不能重复,可以是null;
不保证元素的排列顺序;
不是同步的,非线程安全;

LinkedHashSet
集合元素不能重复,可以是null;
使用链表维护元素顺序,遍历集合时,会以元素的添加顺序访问集合元素;
不是同步的,非线程安全;
Iterator迭代器访问时性能比HashSet好,元素插入的性能稍次;

TreeSet
集合元素不能重复,不可以是null;
SortedSet接口的唯一实现类;
确保集合元素处于排序状态;
不是同步的,非线程安全;
排序的方式两种:自然排序(默认升序)
                                定制排序:实现Compartor接口的 int compare(T o1,T o2);方法


Map
蓝色为接口,红色常用实现类
Map(HashMap,LinkedHashMap)
|_____SortedMap(TreeMap)

Map:存储的是key-value对,不能包含重复的key,可以有重复的value。
SortedMap:是一个按升序排列key的Map。
  • 1.键集:Set<k> KeySet()
  • 2.值集:Collection<k> values()
  • 3.键值对集:Set<Map.Entry<k,v>> entrySet()


HashMap
允许一个null键与多个null值,若重复键,则覆盖以前值;
HashMap比TreeMap快;
不是同步的,非线程安全;

LinkedHashMap
允许一个null键与多个null值,若重复键,则覆盖以前值;
保存了元素的插入顺序;
不是同步的,非线程安全;

TreeMap
不允许null键,但允许多个null值,覆盖已有键值;
用键的整体顺序对元素排序,并将其组织成搜索树;
不是同步的,非线程安全;

WeakHashMap
与垃圾回收有关


遗留集合
均为线程安全的
Hashtable
实现Map接口,整体与HashMap类似;
Hashtable是线程安全的,写入时比较慢;
不允许空值和空键;

Vector
实现List接口,整体与ArrayList类似;
线程安全的,性能比较慢;


工具类Collections和Array

这两个类提供了封装器实现(Wrapper Implementations)、数据结构算法和数组相关的应用。

sort:排序,这里是一种类似于快速排序的方法,效率仍然是O(n * log n),但却是一种稳定的排序方法。

reverse:将线性表进行逆序操作。

rotate:以某个元素为轴心将线性表“旋转”。

swap:交换一个线性表中两个元素的位置。
……
Collections还有一个重要功能就是“封装器”(Wrapper),它提供了一些方法可以把一个集合转换成一个特殊的集合,如下:

unmodifiableXXX:转换成只读集合,这里XXX代表六种基本集合接口:Collection、List、Map、Set、SortedMap和SortedSet。如果你对只读集合进行插入删除操作,将会抛出UnsupportedOperationException异常。

synchronizedXXX:转换成同步集合。

singleton:创建一个仅有一个元素的集合,这里singleton生成的是单元素Set,singletonList和singletonMap分别生成单元素的List和Map。

分享到:
评论

相关推荐

    java集合分类总结.doc

    Java集合分类总结 Java集合分类总结是Java语言中的一种容器,用于存储和管理多个对象。集合可以自动扩容,部分集合允许存放不同类型的元素。集合的主要分类有List、Set、Map等。 List集合是一种有序列表,允许存放...

    java集合类总结

    本文将对Java集合框架中的Collection接口及其相关接口、类进行深入的探讨。 首先,Collection接口是所有单值容器的基础,它是Set、List和Queue接口的父接口。Collection接口定义了通用的操作方法,如`add()`用于...

    (zz)java集合类总结

    ### Java集合类总结 在Java开发中,集合类(Containers)是极其重要的组成部分,它们作为开发者日常编程不可或缺的工具,不仅让代码变得更加简洁、高效,还能显著提升程序的功能性和灵活性。本文将对Java标准类库中...

    JAVA集合类总结[整理].pdf

    JAVA集合类总结[整理].pdf

    java常用集合类总结

    "Java集合类总结" Java集合类是Java语言中的一种重要数据结构,用于存储和管理数据。Java集合类可以分为两种:Collection接口和Map接口。Collection接口有两个子接口:List接口和Set接口。List接口是有序的,可以...

    Java集合类详解总结

    ### Java集合类详解总结 在Java编程中,集合框架(Collection Framework)是处理一组对象的强大工具,它提供了标准的数据结构来存储和操作这些对象。Java集合框架主要包括`Collection`、`Set`、`List`、`Queue`、`...

    Java集合框架总结

    ### Java集合框架总结 #### 一、Java集合框架概述 Java集合框架是Java标准库的一部分,它提供了一系列的接口和类来存储和操作各种类型的对象集合。这些接口和类遵循一致的设计模式,使得开发人员可以方便地管理和...

    java集合类面试题总结

    Java 集合类面试题总结 Java 集合类是 Java 语言中的一种重要组件,用于存储和操作数据。下面总结了 Java 集合类的一些常见问题和答案。 HashMap 和 Hashtable 的区别 HashMap 和 Hashtable 都是 Java 中的散列表...

    Java集合排序及java集合类详解.pdf

    ### Java集合排序及Java集合类详解 #### 一、集合框架概述 集合框架是Java编程语言的核心组件之一,用于组织和操作数据集。Java集合框架提供了多种数据结构,包括列表(List)、集(Set)和映射(Map),这些数据结构...

    第13讲 JAVA集合类.ppt

    总结来说,Java集合类通过提供丰富的接口和实现,使得Java开发者可以灵活选择适合特定需求的数据结构,提高代码的可读性和性能。理解并熟练掌握这些集合类和接口,对于编写高质量的Java程序至关重要。

    JAVA集合类用法总结

    Java集合类是Java编程语言中不可或缺的一部分,它们提供了一种高效、灵活的方式来存储和操作对象。集合类的主要接口包括Collection、List、Set和Map,这些接口定义了各种操作集合对象的方法,比如添加、删除、修改和...

    【Java面试+Java学习指南】 一份涵盖大部分Java程序员所需要掌握的核心知识

    Java集合类总结 Java集合详解1:一文读懂ArrayList,Vector与Stack使用方法和实现原理 Java集合详解2:Queue和LinkedList Java集合详解3:Iterator,fail-fast机制与比较器 Java集合详解4:HashMap和HashTable Java...

    Java集合详解,详细讲解java的集合类

    本文将深入讲解Java集合类,特别是Collection接口和其下的List、Set,以及Map接口中的几个重要实现类。 首先,我们来看Collection接口。Collection是最基本的集合接口,它代表一组Object,即它的元素。Collection...

    java集合类知识总结--思维导图文件xmind

    java集合类知识总结--思维导图文件xmind xmind文件类型 总结了java常用集合相关问题 包括map、set、list、数组等

    java中的集合类总结

    以下是对标题和描述中提到的Java集合类的详细总结: 首先,所有Java集合类都继承自`java.util.Collection`接口。`Collection`接口是所有集合框架的基础,它定义了集合的基本操作,如添加、删除和遍历元素。`...

    Java工程师面试复习指南

    Java集合类总结 Java集合详解:一文读懂ArrayList,Vector与Stack使用方法和实现原理 Java集合详解:Queue和LinkedList Java集合详解:迭代器,快速失败机制与比较器 Java集合详解:HashMap和HashTable Java集合详解...

Global site tag (gtag.js) - Google Analytics