ArrayList,LinkedList,Vector区别.TreeSet,TreeSet,LinkedHashSet区别
ArrayList:
基于数组的数据结构,地址连续,一旦数据保存好了,查询效率比较高,但是因为其地址连续,所以增删数据需要移动数据,影响速度
内部数组长度默认为10,当需要扩容时,数组长度按1.5倍增长(old+(old>>1)),移除时长度-1;数组是被transient修饰,ArrayList通过readObject,writeObject方法实现序列化
LinkedList:
基于双向链表的数据结构,地址是任意的,对于增删比较快,查找比较慢(内部保存了Node类,通过不停的node.next()来比对值)
Vector:
基于数组的数据结构,线程安全,方法上加了synchronized。
---------------------------------------------------------------------------------------------------------------------------------------------------------
HashSet:
内部是一个HashMap保存数据(Hash表实现),可以保存null
TreeSet:
通过二叉树实现,TreeSet为排序准备的
LinkedHashSet:
根据hashCode排序,同时使用了链表结构(LinkHashMap),使得LinkedHashSet在迭代时,取出顺序和保存顺序相同
ArrayList,LinkedList,Vector区别.TreeSet,TreeSet,LinkedHashSet区别的更多相关文章
- LinkedList、ArrayList、Vector三者的关系与区别?
LinkedList.ArrayList.Vector三者的关系与区别? 区分ArrayList,Vector,LinkedList的区别 ArrayList,Vector的区别: 1.出现版本:Ar ...
- ArrayList LinkedList Vector
ArrayList是基于数组实现的,没有容量的限制. 在删除元素的时候,并不会减少数组的容量大小,可以调用ArrayList的trimeToSize()来缩小数组的容量. ArrayList, Lin ...
- ArrayList, LinkedList, Vector - dudu:史上最详解
ArrayList, LinkedList, Vector - dudu:史上最详解 我们来比较一下ArrayList, LinkedLIst和Vector它们之间的区别.BZ的JDK版本是1.7.0 ...
- ArrayList,LinkedList,vector的区别
1,Vector.ArrayList都是以类似数组的形式存储在内存中,LinkedList则以链表的形式进行存储. 2.List中的元素有序.允许有重复的元素,Set中的元素无序.不允许有重复元素. ...
- ArrayList LinkedList Vector之间的区别
List主要有ArrayList,LinkedList和vector三种实现.这三种都实现了List接口,使用方式也很相似,主要区别在于其实现方式的不同! 这三种数据结构中,ArrayList和Vec ...
- 集合类源码(二)Collection之List(ArrayList, LinkedList, Vector)
ArrayList 功能 完全命名 public class ArrayList<E> extends AbstractList<E> implements List<E ...
- ArrayList,LinkedList,Vector集合的认识
最近在温习Java集合部分,花了三天时间读完了ArrayList与LinkedList以及Vector部分的源码.之前都是停留在简单使用ArrayList的API,读完源码看完不少文章后总算是对原理方 ...
- java 中 ArrayList LinkedList Vector 三者的异同点
1.ArrayList和Vector都是基于数组实现的,所以查询速度很快,增加和删除(非最后一个节点)速度慢: Vector是线程安全的,ArrayList不是. 2.LinkedList 是一个双向 ...
- hasSet,TreeSet,ArrayList,LinkedList,Vector,HashMap,HashTable,TreeMap利用Iterator进行输出
基础类,没有重写hashCode()和equals()方法: package niukewang; import java.util.Objects; public class setClass { ...
随机推荐
- pdnovel 看书 读书 听书
pdnovel剖度小说是discuz的阅读插件,这里分享一下阅读的一些技巧. 看书 点击或手机输入 http://txt.xlongwei.com 即可进入阅读首页,内容分书book.卷volume. ...
- MySort(选做)
一.题目要求 注意:研究sort的其他功能,要能改的动代码,需要答辩 模拟实现Linux下Sort -t : -k 2的功能. 要有伪代码,产品代码,测试代码(注意测试用例的设计) 参考 Sort的实 ...
- python 文件压缩及解压
文件压缩 import os import zipfile def zip_dir(dirname,zipfilename): """ | ##@函数目的: 压缩指定目录 ...
- antd源码分析之——标签页(tabs 1.组件结构)
由于ant Tabs组件结构较复杂,共分三部分叙述,本文为目录中第一部分(高亮) 目录 一.组件结构 antd代码结构 rc-ant代码结构 1.组件树状结构 2.Context使用说明 3.rc-t ...
- 用key管理可复用元素
先看看不用key管理可复用元素的代码.Vue 会尽可能高效地渲染元素,通常会复用已有元素而不是从头开始渲染.这么做,除了使 Vue 变得非常快之外,还有一些有用的好处,那就是在切换input时不会清楚 ...
- Android中常见的默认实现类
* Basexxx* Defaultxxx* Simplexxx* Baicxxx
- webpy简单入门---1
1. 2. 3. 4.
- redis 超时失效key 的监听触发使用
redis自2.8.0之后版本提供Keyspace Notifications功能,允许客户订阅Pub / Sub频道,以便以某种方式接收影响Redis数据集的事件. 可能收到的事件的例子如下: 所有 ...
- Windows 10 删除资源管理器中7个文件夹
Windows 10 安装完成之后 ,在资源管理器中会存在 7 个文件夹,他们分别是:图片.视频.下载.音乐.桌面.文档.3D对象. 我们可以通过修改注册表的方式,隐藏这7个文件夹.相关注册表内容如下 ...
- 20190905 - Uncaught SyntaxError: Unexpected token < 的解决
问题:Uncaught SyntaxError: Unexpected token < index:1 原因:js 路径不对