`
yahaitt
  • 浏览: 759886 次
  • 性别: Icon_minigender_2
  • 来自: 杭州
社区版块
存档分类
最新评论

ArrayList,LinkedList以及Vector的区别?

 
阅读更多

1、请问ArrayList,LinkedList以及Vector的区别?

1 ArrayList底层是采用数组实现的(并且改数组的类型是Object类型的)

2 如果是jdk6的话,采用Array.of()方法来生成一个新的数组,如果是jdk5.0的话,使用的是

System.arraycopy方法(将数组拷贝)

3 List list = new ArrayList();时,底层会生成一个长度为10的数组来存放对象,如果预先知道list

会存放多少个对象的话,最好通过new ArrayList(int length)的方式先确定数组的最小长度,如new

ArrayList(50),这样能提高底层的效率。

4 对于ArrayList与Vector来说,底层都是采用数组方式来实现的(该数组是一个Object类型的数组)

5 对于ArrayList,所有方法都不是同步的,对于Vector,大部分是public的方法都是同步的。

6、LinkedList底层是由双向循环链表实现的,对于ArrayList,查找速度非常快,增加和删除操作非常

慢。(本质上是由数组的特点来决定的)

7、对于LinkList,查找速度非常慢,增加和删除操作非常快。(本质上是由双向循环链表的特点来决定

的)

分享到:
评论

相关推荐

    ArrayList LinkedList Vector区别

    ArrayList LinkedList Vector 区别 ArrayList、LinkedList、Vector 是 Java 中常用的数据结构实现类,它们都实现了 List 接口,但它们在存储方式、性能、线程安全性等方面有着不同特点。 首先,ArrayList 和 ...

    ArrayList LinkedList Vector性能测试

    在Java编程语言中,ArrayList、LinkedList和Vector是三种常见的动态数组实现,它们都在java.util包中,用于存储和管理对象的集合。这三个类都实现了List接口,提供了多种操作方法,但它们在内部实现和性能特性上有所...

    ArrayList LinkedList Vector性能对比

    ArrayList、LinkedList和Vector是三种常见的动态数组实现,它们各自有特定的特性和使用场景。这里我们将深入探讨这三个类的性能对比,以及它们在不同操作下的表现。 ArrayList是基于动态数组实现的,它提供了随机...

    比较ArrayList、LinkedList、Vector1

    【ArrayList、LinkedList、Vector对比分析】 1. **List概述** List接口是Java集合框架中的重要组成部分,它是一个有序的集合,允许重复元素,并且保持插入顺序。List接口的实现类主要有ArrayList、LinkedList和...

    ArrayList Vector LinkedList 区别与用法.

    ### ArrayList、Vector、LinkedList 的区别与用法详解 在Java编程中,选择合适的数据结构对于程序的性能至关重要。本文将深入探讨ArrayList、Vector和LinkedList三种集合类的特点与使用场景,帮助开发者更好地理解...

    ii0#book-3#ArrayList 、 LinkedList 、 Vector 的底层实现和区别1

    Java基础之集合List-ArrayList、LinkedList、Vector的底层实现和区别ArrayList底层实际是采用数组实现的(并且该数组的类型是

    Java中的ArrayList的底层源码解读、LinkedList、Vector的区别介绍

    能学到什么:ArrayList的源码分析,自动扩容和自动缩容的源码分析,相关参数的深度解析,从是什么,为什么,怎么做三个角度进行讲解,用通俗易懂的白话进行介绍,LinkedList和Vector以及ArrayList的区别以及使用场景...

    ArrayList LinkList和vector的区别

    ArrayList、LinkList和Vector的区别 ArrayList、LinkList和Vector是Java中三个常用的集合类,它们都实现了List接口,但是在实现方式和性能上有所不同。 ArrayList ArrayList是使用数组方式存储数据的,数组元素数...

    ArrayList、Vector、LinkedList 的区别.docx

    ArrayList、Vector、LinkedList 的区别 在 Java 集合框架中,ArrayList、Vector、LinkedList 是三个常用的 List 实现类,虽然它们都实现了 List 接口,但是它们在继承关系、实现接口、底层数据结构、扩容机制等方面...

    Java 各种集合的区别ArrayList Vector LinkedList map区别

    今天,我们将深入了解 Java 中的集合类别,包括 ArrayList、Vector、LinkedList 和 Map 等。 ArrayList ArrayList 是一种基于数组的集合类别,它可以存储大量的数据。ArrayList 的特点是:它可以动态地增加或减少...

    第8讲 对比Vector、ArrayList、LinkedList有何区别1

    在Java集合框架中,Vector、ArrayList和LinkedList都是List接口的实现,它们提供了有序集合的功能,允许根据位置进行元素的添加、删除和查找。然而,它们在设计和性能上有着显著的区别。 首先,Vector是Java早期...

    ArrayList-LinkedList--Vector-Map.zip_vector

    在Java编程语言中,`ArrayList`、`LinkedList`、`Vector`和`Map`是四种常用的集合类,它们各自有着不同的特性和用途。本篇文章将深入探讨这些数据结构及其使用场景。 首先,我们来了解`ArrayList`。`ArrayList`是`...

    JDK1.6中Arraylist,Vector,LinkedList源码

    在Java编程语言中,ArrayList、Vector和LinkedList是三种常见的动态数组实现,它们都属于集合框架中的List接口。这里我们将深入探讨这三种数据结构的源码,理解它们的内部实现、性能特性和适用场景。 首先,...

    对比Vector、ArrayList、LinkedList1

    总的来说,熟练掌握Vector、ArrayList和LinkedList的区别,以及它们在不同场景下的应用,是Java程序员必备的技能。通过深入学习和实践,可以提升解决问题的能力,从而在面试和实际工作中表现出色。

    51. ArrayList LinkedList Set HashMap介绍.txt

    ### Vector vs ArrayList #### 区别 - **线程安全性**:`Vector` 是线程安全的,而 `ArrayList` 不是。`Vector` 中的大部分方法都是同步的,可以在不加额外同步措施的情况下用于多线程环境。 - **性能**:由于 `...

    Vector 与ArrayList区别

    ### Vector 与 ArrayList 的区别详解 #### 一、前言 在 Java 集合框架中,`Vector` 和 `ArrayList` 是两种常用的动态数组实现。它们提供了灵活的数据存储方式,能够根据需要自动调整大小。然而,这两种类型的列表...

    Java容器集合(equals 和 hashCode+基础数据结构+ArrayList+Vector和LinkedList)

    Java容器集合(equals和hashCode+基础数据结构+ArrayList+Vector和LinkedList) Java容器集合是Java中的一种基础数据结构,用于存储和管理数据。其中,equals和hashCode方法是Java容器集合中两个非常重要的方法,...

    Java中Vector与ArrayList的区别详解

    - `LinkedList`虽然在随机访问上不如`ArrayList`和`Vector`,但在插入和删除操作上表现更好,因为它只需要修改相邻元素的链接,时间复杂度为O(1),但遍历速度慢。 5. **使用场景**: - 如果在单线程环境中,且...

    List、ArrayList、Vector及map、HashTable、HashMap分别的区别

    List、ArrayList、Vector及map、HashTable、HashMap分别的区别 List、ArrayList、Vector及map、HashTable、HashMap是Java容器类中的几个重要的接口和实现类,了解它们之间的区别是非常重要的。 首先,我们来看List...

    Java容器类List、ArrayList、Vector及map、HashTable应用

    ArrayList和Vector的主要区别在于Vector使用了synchronized方法,线程安全,而ArrayList则没有。 ArrayList是Java中最常用的List实现类,它提供了高效的插入、删除和遍历元素的方法。ArrayList基于数组实现,故插入...

Global site tag (gtag.js) - Google Analytics