Java ArrayList和Vector、LinkedList与ArrayList、数组(Array)和列表集合(ArrayList)的区别...
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)的区别...相关推荐
- ArrayList,Vector, LinkedList的存储性能和特性?
ArrayList,Vector, LinkedList的存储性能和特性? ArrayList 采用的是数组形式来保存对象的,这种方式将对象放在连续的位置中,所以最大的缺点就是插入或删除时非常麻烦. ...
- Java 中数组Array和列表List的转换
主要介绍Java中Java 中数组Array和列表List的转换. 一.数组Array转列表List 1.使用Collections.addAll()方法 使用Collections.addAll() ...
- 【转】ArrayList Vector LinkedList 区别与用法
ArrayList 和Vector是采用数组方式存储数据,此数组元素数大于实际存储的数据以便增加和插入元素,都允许直接序号索引元素,但是插入数据要设计到数组元素移动等内存操作,所以索引数据快插入数据慢 ...
- 【Java面试题】37 说出ArrayList,Vector, LinkedList的存储性能和特性
ArrayList和Vector都是使用数组方式存储数据,此 数组元素数大于实际存储的数据以便增加和插入元素,它们都允许直接按序号索引元素,但是插入元素要涉及数组元素移动等内存操作,所以索引数据快而插 ...
- ArrayList和Vector有什么区别?
本文翻译自:What are the differences between ArrayList and Vector? 两个数据结构ArrayList和Vector之间有什么区别,你应该在哪里使用它 ...
- java温故笔记(二)java的数组HashMap、ConcurrentHashMap、ArrayList、LinkedList
为什么80%的码农都做不了架构师?>>> HashMap 摘要 HashMap是Java程序员使用频率最高的用于映射(键值对)处理的数据类型.随着JDK(Java Develo ...
- java集合之列表:ArrayList、Vector、LinkedList
1 package com.jdk7.chapter4; 2 3 import java.util.ArrayList; 4 import java.util.LinkedList; 5 import ...
- 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 ...
- 详解Java中ArrayList、Vector、LinkedList三者的异同点
转载:https://my.oschina.net/zzw922cn/blog/491631 一.ArrayList ArrayList是一个可以处理变长数组的类型,这里不局限于"数&quo ...
最新文章
- video camera in shanghai
- mysql5.7.21源码安装
- stmt在java中的应用_JDBC技术基础总结转载,非原创
- 粉红噪音_粉红的常绿力量
- php 执行 javascript,Bash/PHP/Javascript:如何运行输出javascript的php文件,并执行该javascript?...
- Rhel5 之NTP服务配置
- [NVIDIA] Ububtu 获取 CUDA_ARCH
- 牛客小白月赛9: F. 暴力出奇迹(思维题)
- tensorflow: deep_dream代码及原理分析
- 数据科学家应该掌握的12种机器学习算法(附信息图)
- CODING Pages 服务全面升级,更快更稳更可靠!
- 直播视频网站源码,列表的展开更多和点击收起功能
- spssχ2检验_医学统计中常用的χ2检验在SPSS软件中的实现途径
- Ubuntu 视频 转 GIF
- Promise详尽指南
- 如何进行拼图?拼图其实很简单
- 51822 proximity
- Java 并发编程艺术 读书笔记
- 如何快速提升 Flutter App 中的动画性能
- ofbiz实战8——实验室预约管理系统功能介绍
热门文章
- Android Activity中加入View后进行后台截屏截图
- class? clazz参数_Java如何获取方法参数具体名称?这是个好问题!
- java二维矩阵怎么进行转置_矩阵求导的本质与分子布局、分母布局的本质(矩阵求导——本质篇)...
- 下列符合c语言语法的字符常量是,C语言程序设计(周经亚)选择题练习-chapter 5.doc...
- iTunes只能装C盘吗_C盘清理简单汇总
- python 作用域嵌套_python嵌套作用域问题
- 最新增值税商品税目编码表_大家好!我叫增值税!这是我的最新最全税率表
- BZOJ 5330 Luogu P4607 [SDOI2018]反回文串 (莫比乌斯反演、Pollard Rho算法)
- 网易java实习面试_2019届网易JAVA实习2面经历
- wayland与linux_将Linux与Wayland一起使用? 您需要知道的 | MOS86