ArrayList和Vector的区别

ArrayList与Vector主要从二方面来说.

一.同步性:

Vector是线程安全的,也就是说是同步的,而ArrayList是线程序不安全的,不是同步的。

二.操作:

由于Vector支持多线程操作,所以在性能上就比不上ArrayList了。

三.数据增长:

ArrayList和Vector都有一个初始的容量大小,当存储进去它们里面的元素个数超出容量的时候,就需要增加ArrayList和Vector的存储空间,每次增加存储空间的时候不是只增加一个存储单元,是增加多个存储单元。

Vector默认增加原来的一倍,ArrayList默认增加原来的0.5倍。

Vector可以由我们自己来设置增长的大小,ArrayList没有提供相关的方法。

LinkedList与ArrayList的区别

两者都实现的是List接口,不同之处在于:

(1)、ArrayList是基于动态数组实现的,LinkedList是基于链表的数据结构。

(2)、get访问List内部任意元素时,ArrayList的性能要比LinkedList性能好。LinkedList中的get方法是要按照顺序从列表的一端开始检查,直到另一端

(3)、对于新增和删除操作LinkedList要强于ArrayList,因为ArrayList要移动数据

LinkedList实现了List接口,允许null元素。此外LinkedList提供额外的get,remove,insert方法在LinkedList的首部或尾部。这些操作使LinkedList可被用作堆栈(stack),队列(queue)或双向队列(deque)。

注意LinkedList没有同步方法。如果多个线程同时访问一个List,则必须自己实现访问同步。一种解决方法是在创建List时构造一个同步的List:

List list = Collections.synchronizedList(new LinkedList(…));

数组(Array)和列表集合(ArrayList)的区别

Array可以包含基本类型和对象类型,ArrayList只能包含对象类型。

Array大小是固定的,ArrayList的大小是动态变化的。

ArrayList提供了更多的方法和特性,比如:addAll(),removeAll(),iterator()  等等。

对于基本类型数据,集合使用自动装箱来减少编码工作量。但是,当处理固定大小的基本数据类型的时候,这种方式相对比较慢。

转载于:https://www.cnblogs.com/Liang-Haishan216/p/6186920.html

Java ArrayList和Vector、LinkedList与ArrayList、数组(Array)和列表集合(ArrayList)的区别...相关推荐

  1. ArrayList,Vector, LinkedList的存储性能和特性?

    ArrayList,Vector, LinkedList的存储性能和特性? ArrayList 采用的是数组形式来保存对象的,这种方式将对象放在连续的位置中,所以最大的缺点就是插入或删除时非常麻烦. ...

  2. Java 中数组Array和列表List的转换

    主要介绍Java中Java 中数组Array和列表List的转换. 一.数组Array转列表List 1.使用Collections.addAll()方法 使用Collections.addAll() ...

  3. 【转】ArrayList Vector LinkedList 区别与用法

    ArrayList 和Vector是采用数组方式存储数据,此数组元素数大于实际存储的数据以便增加和插入元素,都允许直接序号索引元素,但是插入数据要设计到数组元素移动等内存操作,所以索引数据快插入数据慢 ...

  4. 【Java面试题】37 说出ArrayList,Vector, LinkedList的存储性能和特性

    ArrayList和Vector都是使用数组方式存储数据,此 数组元素数大于实际存储的数据以便增加和插入元素,它们都允许直接按序号索引元素,但是插入元素要涉及数组元素移动等内存操作,所以索引数据快而插 ...

  5. ArrayList和Vector有什么区别?

    本文翻译自:What are the differences between ArrayList and Vector? 两个数据结构ArrayList和Vector之间有什么区别,你应该在哪里使用它 ...

  6. java温故笔记(二)java的数组HashMap、ConcurrentHashMap、ArrayList、LinkedList

    为什么80%的码农都做不了架构师?>>>    HashMap 摘要 HashMap是Java程序员使用频率最高的用于映射(键值对)处理的数据类型.随着JDK(Java Develo ...

  7. java集合之列表:ArrayList、Vector、LinkedList

    1 package com.jdk7.chapter4; 2 3 import java.util.ArrayList; 4 import java.util.LinkedList; 5 import ...

  8. java:集合(Collection【List(ArrayList Vector LinkedList)、set】、Map【hashMap、treeMap、hashtable、properties】)

    目录 集合的框架体系 一.Collection接口和常用方法 1.1   List接口和常用方法 1.1.1   ArrayList底层结构和源码分析 1.1.2 Vector底层结构 1.1.3 L ...

  9. 详解Java中ArrayList、Vector、LinkedList三者的异同点

    转载:https://my.oschina.net/zzw922cn/blog/491631 一.ArrayList ArrayList是一个可以处理变长数组的类型,这里不局限于"数&quo ...

最新文章

  1. video camera in shanghai
  2. mysql5.7.21源码安装
  3. stmt在java中的应用_JDBC技术基础总结转载,非原创
  4. 粉红噪音_粉红的常绿力量
  5. php 执行 javascript,Bash/PHP/Javascript:如何运行输出javascript的php文件,并执行该javascript?...
  6. Rhel5 之NTP服务配置
  7. [NVIDIA] Ububtu 获取 CUDA_ARCH
  8. 牛客小白月赛9: F. 暴力出奇迹(思维题)
  9. tensorflow: deep_dream代码及原理分析
  10. 数据科学家应该掌握的12种机器学习算法(附信息图)
  11. CODING Pages 服务全面升级,更快更稳更可靠!
  12. 直播视频网站源码,列表的展开更多和点击收起功能
  13. spssχ2检验_医学统计中常用的χ2检验在SPSS软件中的实现途径
  14. Ubuntu 视频 转 GIF
  15. Promise详尽指南
  16. 如何进行拼图?拼图其实很简单
  17. 51822 proximity
  18. Java 并发编程艺术 读书笔记
  19. 如何快速提升 Flutter App 中的动画性能
  20. ofbiz实战8——实验室预约管理系统功能介绍

热门文章

  1. Android Activity中加入View后进行后台截屏截图
  2. class? clazz参数_Java如何获取方法参数具体名称?这是个好问题!
  3. java二维矩阵怎么进行转置_矩阵求导的本质与分子布局、分母布局的本质(矩阵求导——本质篇)...
  4. 下列符合c语言语法的字符常量是,C语言程序设计(周经亚)选择题练习-chapter 5.doc...
  5. iTunes只能装C盘吗_C盘清理简单汇总
  6. python 作用域嵌套_python嵌套作用域问题
  7. 最新增值税商品税目编码表_大家好!我叫增值税!这是我的最新最全税率表
  8. BZOJ 5330 Luogu P4607 [SDOI2018]反回文串 (莫比乌斯反演、Pollard Rho算法)
  9. 网易java实习面试_2019届网易JAVA实习2面经历
  10. wayland与linux_将Linux与Wayland一起使用? 您需要知道的 | MOS86