集合类
- Set
- HashSet
- LinkedHashSet
- TreeSet
-
优点:
通过一个HashMap来实现数据的保存,内部实现红黑树数据结构,使所有元素按升序保存。
提供高效的get和contains方法,保存操作的效率为log(n)
缺点:
默认大小为16, 如果超过则需要重新申请内存空间,大小为原来的两倍,并把原来的数据内容复制到
新的内存空间中(来自HashMap)。
线程不安全(需通过Collections.synchronizedList方法设置)
加入的元素升级排序而改变
注:treeset对元素有要求,必须实现Comparable接口或是Comparator 接口)
注:通常缺省的load factor 0.75较好地实现了时间和空间的均衡。增大load factor可以节省空间但相应的查找时间将增大,这会影响像get和put这样的操作。
- CopyOnWriteArraySet
- 优点:
针对于对Set操作的情况有很多变化时使用,优其是在高并发的情况不想使用同步控制锁时
缺点:
消耗比较大的资料,每次作更新操作时,都会重新Copy一块内存后,再做合并操作。
- List
- ArrayList
-
优点:
使用数组,提供快速的get,add和iterate方法,占用比较小的内存空间
缺点:
线程不安全(需通过Collections.synchronizedList方法设置)
insert和remove操作,非常慢(需要移动数组元素来实现)
当size超过时,需要新建一个较大的数据(默认大小是10,增量是 (size * 3)/2 + 1,
且把原来的数据都复制到新的上面)
- LinkedList
-
优点:
使用链表结构,提供快速的add, insert, remove方法,占用比较小的内存空间
缺点:
线程不安全(需通过Collections.synchronizedList方法设置)
get操作,非常慢(需要从head一级级遍历查找)
- Vector
- 优点:
线程安全。
缺点:
相对于ArrayList效率要低。拥有ArrayList的缺点。
- CopyOnWriteArrayList
- 优点:
针对于对List操作的情况有很多变化时使用,优其是在高并发的情况不想使用同步控制锁时
缺点:
消耗比较大的资料,每次作更新操作时,都会重新Copy一块内存后,再做合并操作。
- TreeList(apache commons-collections)提供
-
优点:
基于二叉数 提供比较快速的get, add,insert,iterate,remove方法。其中get,add和iterate方法比ArrayList稍慢一点。
缺点:
相对于ArrayList和LinkedList占比较多的内存空间
线程不安全(需通过Collections.synchronizedList方法设置)
- Map
http://www.blogjava.net/xmatthew/archive/2008/10/25/236581.html
分享到:
相关推荐
Java 集合类详解 Java 集合类是 Java 语言中的一种基本数据结构,用于存储和操作大量数据。集合类可以分为三大类:Collection、List 和 Set。 Collection 是集合框架中的根接口,提供了基本的集合操作,如 add、...
### Java集合排序及Java集合类详解 #### 一、集合框架概述 集合框架是Java编程语言的核心组件之一,用于组织和操作数据集。Java集合框架提供了多种数据结构,包括列表(List)、集(Set)和映射(Map),这些数据结构...
Java集合类是Java编程语言中用于存储和管理对象的关键组件,它们构成了Java Collections Framework的核心。这个框架提供了一组高效、灵活的数据结构,使得开发者能够轻松地处理数据集合,而无需关心底层实现的复杂性...
### Java集合类学习笔记知识点详解 #### 一、集合框架概述 ##### 1.1.1 容器简介 在Java编程中,容器是用于存储和管理对象集合的重要工具。当我们处理大量的对象时,比如存储多个员工的信息,仅仅依赖于基本的...
所涉及的集合类不仅包括 Java SE 1.2 引入的集合类,还包括旧集合类(Java SE 1.2 前引入)和新集合类(Java SE 5 引入)。 Java 线程安全的等级定义根据 Bloch 的定义,将线程安全分为五个等级: 1. 非可变:如果...
一张图让你看清Java集合类 所有精华 集于一图 一目了然 形象易懂 十分中肯 绝对干货!
### Java集合类重要知识点 #### 一、概述 在Java编程中,集合类是一个非常重要的概念,主要用于存储和管理对象的集合。Java集合框架主要包括两大类:`Collection`和`Map`。本篇文章将着重介绍`Collection`部分,并...
### Java集合类性能分析 #### 一、Java集合框架概览 Java集合框架是一个非常重要的概念,它提供了处理数据集合的标准方法。集合框架的核心部分主要包括集合接口、抽象类以及具体的实现类。 - **集合接口**:Java...
Java集合类是Java语言中用来存储数据的结构,它们是Java开发中非常重要的组件。在Java 2平台之前,集合框架的组成较为零散,自Java 2平台的JDK 1.2版本之后,引入了集合框架(Collections Framework),为集合类提供...
### Java集合类与容器类详解 #### 一、引言 在Java编程中,集合类是一种非常重要的数据结构,用于存储一系列对象。相比于数组,集合类提供了更多的灵活性和功能,尤其是在处理未知数量的对象时更为方便。Java标准...
Java 集合类面试题总结 Java 集合类是 Java 语言中的一种重要组件,用于存储和操作数据。下面总结了 Java 集合类的一些常见问题和答案。 HashMap 和 Hashtable 的区别 HashMap 和 Hashtable 都是 Java 中的散列表...
Java 集合排序及java 集合类详解 Java 集合排序及java 集合类详解,Java里面最重要、最常用也就是集合那部分了,能够用好集合和理解好集合对于做Java程序的开发拥有无比的好处。本教程详细解释了关于Java中的集合是...
Java集合类,在图片上体现出来,为了更好的描述,本来是博客里的,不好往博客里插,所以单独弄出来了。
Java集合类矩阵图是Java编程中非常重要的一个概念,它主要涵盖了Java集合框架中的各种接口、类以及它们之间的关系。这个矩阵图可以帮助开发者更清晰地理解Java集合框架的层次结构和实现方式。在这个矩阵图中,你可以...
Java集合类是Java编程中非常重要的一个部分,它为开发者提供了灵活的数据结构,用来存储和管理数据。在Java中,集合类主要分为三大类:Set、List和Map,它们都位于`java.util`包中。 Set接口表示无序且不允许重复...
本示例主要探讨的是Java集合类的简单使用,通过一个名为`CollectionsTest.java`的文件进行演示。这篇博客文章可能详细解释了如何创建、操作和理解Java集合类的基本概念。 首先,Java集合框架主要包括接口和实现这些...
Arrays和Collections是Java集合中的两个工具类。Arrays类包含用来操作数组的各种方法,如排序和搜索等。Collections类主要提供了在collection上进行操作的方法,如排序、查找等。 学习Java集合需要掌握以下几个方面...
Java集合类是Java编程语言中一个非常重要的概念,它提供了数据结构和算法的实现,使得开发者可以方便地存储、管理和操作对象。Java集合框架包括多种接口(如List、Set、Queue)和实现这些接口的类(如ArrayList、...
集合类的框架为集合的实现者提供了大量的接口和抽象类,并对其中的某些机制给予了描述,例如,Iterator(迭代协议)。实现Comparable接口或Comparator接口,用户可以根据需要对集合中的元素进行排序。为了方便用户...