`

Java常用集合包适用场景

阅读更多
1. ArrayList

  基于数组方式实现,无容量的限制。

  在执行插入元素时可能要扩容,在删除元素时并不会减少数组的容量。

  如果希望相应的缩小数组容量,可以调用trimToSize()

  在查找元素时要遍历数组,对于非null的元素采取equals的方式寻找。

  非线程安全。

2. LinkedList

  基于双向链表机制实现。

  元素的插入、移动较快。

  非线程安全。

3. Vector

  基于Object数组的方式来实现的。

  基于synchronized实现的线程安全的ArrayList。

  在插入元素时容量扩充的机制和ArrayList稍有不同:
  如果capcacityIncrement > 0, 则Object数组的大小扩大为现有size加上capcacityIncrement;
  如果capcacityIncrement < 0, 则Object数组的大小扩大为现有size的两倍;

4. Stack

  基于Vector实现,支持LIFO。

5. HashSet

  基于HashMap实现,无容量限制。

  不允许元素重复。

  非线程安全。

6. TreeSet

  基于TreeMap实现,支持排序。

  非线程安全。

7. HashMap

  采用数组方式存储key、value构成的Entry对象,无容量限制。

  基于key hash寻找Entry对象存放到数组的位置,对于hash冲突采用链表的方式来解决。

  在插入元素时可能会扩大数组的容量,在扩大容量时会重新计算hash,并复制对象到新的数组中。

  非线程安全。

8. TreeMap

  基于红黑树实现,无容量限制。

  非线程安全。

-----------------------------------
适用场景:

  对于查找和删除较为频繁,且元素数量较多的应用,Set或Map是更好的选择;

  ArrayList适用于通过为位置来读取元素的场景;

  LinkedList 适用于要头尾操作或插入指定位置的场景;

  Vector 适用于要线程安全的ArrayList的场景;

  Stack 适用于线程安全的LIFO场景;

  HashSet 适用于对排序没有要求的非重复元素的存放;

  TreeSet 适用于要排序的非重复元素的存放;

  HashMap 适用于大部分key-value的存取场景;

  TreeMap 适用于需排序存放的key-value场景。




 
 
4
4
分享到:
评论

相关推荐

    java中常用集合类和接口.doc

    ### Java中常用集合类和接口详解 #### 一、引言 在Java编程中,集合类(Collections)是非常重要的组成部分,它们提供了灵活的数据管理和组织方式。本文将详细介绍Java中的主要集合类及其接口,帮助读者更好地理解...

    java常用jar包下载

    这些jar包是Java开发者日常工作中常见的依赖库,对于构建企业级的Java应用,如数据库交互、Web服务、数据处理等场景都有重要作用。合理利用这些库,可以显著提高开发效率,减少重复工作,并确保代码的稳定性和可靠性...

    java常用集合以及相关接口

    ### Java常用集合以及相关接口详解 #### 一、概述 在Java编程中,集合框架(Collections Framework)是处理数据的核心工具之一。它提供了一系列接口和实现类,用于存储和操作对象集合。Java集合主要包括两大类型:`...

    java常用集合

    本文将深入探讨Java中的常用集合类,包括ArrayList、LinkedList、HashSet、HashMap等,以及它们的特点和使用场景。 首先,我们来看ArrayList。ArrayList是基于数组实现的集合,它提供了动态数组的功能,允许在列表...

    JAVA常用集合框架.doc

    - **迭代器遍历**:Java中的迭代器(Iterator)设计模式用于遍历集合,它能确保元素的正确遍历,即使在遍历过程中修改集合,只要不违反并发修改原则,也能正常工作。 - **增强型for循环(foreach)遍历**:Java 5...

    JAVA中常用的集合类型.pdf

    本文将深入探讨Java中常用的集合类型,主要包括Set、List和Map,以及它们的接口、实现类和算法。 首先,集合框架的核心设计理念是接口、实现和算法的分离。这意味着,通过接口,我们可以定义集合的基本操作,而具体...

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

    通过对比不同类型的集合,开发者可以更好地理解各种容器的特点和适用场景,从而提高应用程序的性能和效率。 综上所述,Java集合框架为Java开发者提供了强大的工具来管理和操作数据集。了解和掌握这些集合类的基本...

    java集合 框架 泛型

    Java集合框架是Java编程语言中一个至关重要的组成部分,它为数据存储和操作提供了丰富的类库。泛型是Java 5引入的一项创新特性,极大地增强了集合框架的安全性和效率。本讲解将深入探讨这两个主题,以及与之相关的...

    java集合知识大全

    这些数据结构包括列表(List)、集(Set)、映射(Map)等,每种都有自己的特点和适用场景。 #### 二、常用集合类继承关系总览 Java集合框架的设计采用了面向对象的思想,通过接口和抽象类构建了一个层次化的结构。下面...

    Java集合类原理详解.pdf

    #### 1.6 总结: 集合框架中常用类比较 - **ArrayList** vs. **LinkedList**:前者支持快速随机访问,后者适合频繁插入和删除。 - **HashSet** vs. **TreeSet**:前者不维护任何特定顺序,后者保持自然顺序或定制...

    Java集合详解

    ### 总结:集合框架中常用类比较 - `ArrayList`:适用于频繁读取和较少插入/删除的场景。 - `LinkedList`:适用于频繁插入/删除的场景。 - `HashMap`:适用于快速查找键值对的场景。 - `HashSet`:适用于存储无序且...

    JAVA集合容器课件

    在Java中,集合框架提供了多种数据结构,如列表(List)、集(Set)和映射(Map),以适应不同的数据处理需求。以下是对这些主要知识点的详细说明: 1. **数组(Array)**:在Java中,数组是最基本的数据结构,它允许...

    Java常用工具类大全,工作5年精心整理.zip

    "Java常用工具类大全,工作5年精心整理.zip"这个压缩包文件很可能包含了一位有经验的Java开发者在五年工作中积累的各种实用工具类,这些工具类能够极大地提高开发效率,简化代码编写。以下是对可能包含的知识点进行...

    java开发常用API

    12. **NIO(非阻塞I/O)**:java.nio包提供了NIO框架,支持非阻塞I/O操作,适用于高并发和大数据传输场景。 以上只是Java API中的一部分关键知识点,实际开发中还会涉及到更多如XML处理、数据库连接(JDBC)、国际...

    Java开发中常用jar包的作用

    ### Java开发中常用jar包的作用 在Java开发中,有许多常用的第三方jar包为开发者提供了丰富的功能,极大地提高了开发效率和程序质量。以下是一些常见jar包及其用途的详细介绍: #### activation.jar - **作用**: ...

    Java学习资料 包含了java SE中的集合、String类和IO流中一些常用的API的知识点整理

    理解这些接口和类的工作原理及其适用场景,是成为熟练Java开发者的必备技能。 接下来,我们探讨Java的String类。String是不可变对象,这意味着一旦创建,其内容就不能更改。String类提供了丰富的操作方法,如concat...

    java常用面试题集合.rar

    重点了解Java中的可达性和垃圾收集器的工作原理。 2. **Java数据类型**:熟悉基本数据类型与引用数据类型的区别,了解自动装箱拆箱机制。 3. **面向对象**:掌握类、对象、继承、多态、封装等面向对象编程的基本...

    java集合.docx

    在使用集合时,确保了解所选集合类型的特点和适用场景,以及在遍历过程中对集合进行修改可能会导致的并发修改异常(CooncurrentModificationException)。如果在遍历过程中需要修改集合,推荐使用迭代器的remove()方法...

Global site tag (gtag.js) - Google Analytics