一、基础
1、ArrayList集合底层是Object[]数组
2、默认容量10(优先:Add第一个元素,初始化未0,jdk13)
3、构造方法:无参(默认)、有参
4、ArrayList集合扩容比例是原容量的1.5倍;尽可能是的少扩容;建议初始化的时候预估容量,给定数量
5、数组特点:随机删除效率较低,但向数组末尾添加元素效率很高,优点:搜索效率较高
6、集合中ArrayList集合使用较多
 
二、ArrayList构造方法
举例说明:
 
三、LinkList双向链表
1、链表优点:随机增删元素效率较高
2、链表缺点;查询效率较低
3、LinkList集合无初始化容量:
不管是LinkList还是ArrayList,以后写代码时不需要关注具体是哪个集合,因为我们要面向对象编程,调用的方法都是接口中的的方法
List list1=new ArrayList();//表示底层用了数组
List list2=new LinkedList();//表示底层用来双向链表
4、举例说明
 
四、Vector集合
1、底层也是数组
2、初始化容量为10,扩容为原容量的2倍;
10-->20-->40-->80
3、vector中所有方法都是线程安全的,Synhronized关键字
List vector=new Vector();
4、怎么将一个线程不安全的ArrayList集合转化为线程安全的呢?
使用集合工具类:Java.untill.Collections;
集合接口为:Java.until.Collection;
5、举例说明
 
 
 

java进阶(24)--ArrayList集合、LinkList集合、Vector集合的更多相关文章

  1. java基础31 List集合下的Vector集合

    单例集合体系: ---------| collection  单例集合的根接口--------------| List  如果实现了list接口的集合类,具备的特点:有序,可重复       注:集合 ...

  2. 【Java面试题】54 去掉一个Vector集合中重复的元素

    在Java中去掉一个 Vector 集合中重复的元素 1)通过Vector.contains()方法判断是否包含该元素,如果没有包含就添加到新的集合当中,适用于数据较小的情况下. import jav ...

  3. Java:List,ArrayList和LinkList的区别

    1.大学数据结构中ArrayList是实现了基于动态数组的数据结构,LinkList基于链表的数据结构 2.对于随机访问get和set,ArrayList优于LinkList,因为LinkedList ...

  4. ArrayList、LinkList、Vector的区别

    ArrayList.LinkedList和Vector均实现了List接口,均为可伸缩数组(均为可动态改变长度的数组).它们是有序的集合,并且其中的元素允许重复. 从底层实现来看: (1)ArrayL ...

  5. java进阶文章优选链接,面试干货集合

    Java多线程: java多线程详细总结:https://blog.csdn.net/chenruijia170707/article/details/78505351 ThreadLocal 用法及 ...

  6. java 数据类型:ArrayList;LinkList性能分析

    各种线性表的性能分析. java提供的List就是一个线性表接口,ArrayList和LinkedList是线性表的两种实现.基于数组的线性表和基于链表的线性表. 一般来说,我们无需理会ArrayLi ...

  7. Java进阶(十七)ArrayList与LinkedList的区别

    ArrayList与LinkedList的区别 ArrayList ArrayList其实是包装了一个数组 Object[],当实例化一个ArrayList时,一个数组也被实例化,当向ArrayLis ...

  8. Java集合之ArrayList与LinkList

    注:示例基于JDK1.8版本 参考资料:Java知音公众号 本文超长,也是搬运的干货,希望小伙伴耐心看完. Collection集合体系 List.Set.Map是集合体系的三个接口. 其中List和 ...

  9. Java集合系列(二):ArrayList、LinkedList、Vector的使用方法及区别

    本篇博客主要讲解List接口的三个实现类ArrayList.LinkedList.Vector的使用方法以及三者之间的区别. 1. ArrayList使用 ArrayList是List接口最常用的实现 ...

  10. Java集合(2)一 ArrayList 与 LinkList

    目录 Java集合(1)一 集合框架 Java集合(2)一 ArrayList 与 LinkList Java集合(3)一 红黑树.TreeMap与TreeSet(上) Java集合(4)一 红黑树. ...

随机推荐

  1. vue3.3新特性defineOptions

    当我们使用选项式api时候,可以轻松创建与setup()选项同级别的选项. 但是,用了

  2. Pix4Dmapper空间三维模型的应用实例:GIS选址分析

      本文介绍基于无人机影像建模完成后的结果,利用ArcMap软件进行空间选址分析,从而实现空间三维模型应用的方法. 目录 1 空间分析目标确立 2 基于基本约束条件的选址求解 2.1 坡度计算与提取 ...

  3. 浅谈数字孪生和GIS融合的必要性

    随着科技的不断发展和应用的不断深入,数字孪生和GIS在各自领域中展现出巨大的潜力.然而,更引人注目的是,数字孪生和GIS的融合将为许多行业带来全新的机遇和变革.在本文中,我们将探讨数字孪生和GIS融合 ...

  4. 从零玩转Websocket实时通讯服务之前后端分离版本-websocket

    title: 从零玩转Websocket实时通讯服务之前后端分离版本 date: 2021-10-25 00:47:12.945 updated: 2021-12-26 17:43:10.496 ur ...

  5. Sliver 二开准备

    cs被杀麻了,最近打算看看一下sliver的源码进行一下二开,这篇是记录遇到的一些问题 编译sliver Windows下 官方说用MingW,但是我自己用他带的make不行, ​​ ‍ 下载make ...

  6. dfs之迭代加深

    为什么要用迭代加深 \(dfs\) 每次会选择搜索树的一个分支,不断深入,直到达到递归边界条件:但这种搜索策略带有一定的缺陷性: 如果搜索树的某一个分支中的节点个数特别多,但是答案并不在这棵子树里面, ...

  7. wpf 叫号系统

    wpf 叫号系统 桌面版 wpf 叫号系统 C# .Net 4.8 WPF 数据库 SQLServer 2012 数据队列 Redis 日志 log4net 叫号系统客户端登陆 设置,职称设置,科室和 ...

  8. 浏览器工作原理和实践(二)——JavaScript

    <浏览器工作原理与实践>是极客时间上的一个浏览器学习系列,在学习之后特在此做记录和总结. 一.执行流程 实际上变量和函数声明在代码里的位置是不会改变的,而且是在编译阶段被 JavaScri ...

  9. 第十一部分_Shell脚本之正则表达式

    正则表达式 1. 正则表达式是什么? 正则表达式(Regular Expression.regex或regexp,缩写为RE),也译为正规表示法.常规表示法,是一种字符模式,用于在查找过程中匹配指定的 ...

  10. 揭秘华为云GaussDB(for Redis)丨大key治理

    本文分享自华为云社区<华为云GaussDB(for Redis)揭秘第31期:大key治理>,作者: 高斯Redis官方博客. 从DBA的视角看,大Key无疑是引起Redis线上问题的常见 ...