首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Java ArrayList集合【笔记】

今天给大家分享【Java ArrayList 集合】。 java.util 包中提供了一些集合类,这些集合类又被称为容器。...(提到容器不难想到数组,集合类与数组的不同之处是,数组的长度是固定的,集合的长度是可变的;数组用来存放基本类型的数据,集合用来存放对象的引用。)常用的集合有List集合、Set集合和Map集合。...类似Java数组,用户通过使用索引(元素在集合中的位置)来访问集合中的元素。 List 接口的常用实现类有 ArrayList 与 LinkedList。...一、ArrayList 添加元素 import java.util.ArrayList; public class ChildrenTest { public static void main(String...访问元素 import java.util.ArrayList; public class ChildrenTest { public static void main(String[] args)

18810
您找到你想要的搜索结果了吗?
是的
没有找到

Java集合ArrayList

ArrayList ArrayList是最常见以及每个Java开发者最熟悉的集合类了,顾名思义,ArrayList就是一个以数组形式实现的集合,以一张表格来看一下ArrayList里面有哪些基本的元素:...transient为java关键字,为变量修饰符,如果用transient声明一个实例变量,当对象存储时,它的值不需要维持。Java的serialization提供了一种持久化对象实例的机制。...对于集合,我认为关注的点主要有四点: 1、是否允许空 2、是否允许重复数据 3、是否有序,有序的意思是读取数据的顺序和存放数据的顺序是否一致 4、是否线程安全 四个关注点在ArrayList上的答案 关注点...结论 ArrayList是否允许空 允许 ArrayList是否允许重复数据 允许 ArrayList是否有序 有序 ArrayList是否线程安全 非线程安全 构造函数 ArrayList...在这个方法中最根本的方法就是System.arraycopy()方法,该方法的根本目的就是将index位置空出来以供新数据插入,这里需要进行数组数据的右移,这是非常麻烦和耗时的,所以如果指定的数据集合需要进行大量插入

36930

Java集合ArrayList详解

概述 ArrayList是我们日常中最长用的集合之一,在使用列表时,除非特殊情况,我们一般都会选择使用ArrayList,本文就ArrayList的几个主要方法主要介绍,并结合几个图片来介绍几个重要操作...ArrayList和LinkedList比较 LinkedList详解可以看我的另一篇文章:Java集合:LinkedList详解 ArrayList底层基于动态数组实现,LinkedList底层基于链表实现...对于随机访问(get/set方法),ArrayList通过index直接定位到数组对应位置的节点,而LinkedList需要从头结点或尾节点开始遍历,直到寻找到目标节点,因此在效率上ArrayList...next或prev属性即可,因此在效率上LinkedList优于ArrayList。...参考 ArrayList源码(JDK 1.8) —————END—————

45820

Java集合框架(一)-ArrayList

大佬理解->Java集合之LinkedList 1、ArrayList的特点 存放的元素有序 元素不唯一(可以重复) 随机访问快 插入删除元素慢 非线程安全 2、底层实现 底层初始化,使用一个Object...Integer.MAX_VALUE : MAX_ARRAY_SIZE; } 4、ArrayList初始化 基于多态创建ArrayList集合对象 List list = new...ArrayList(); // 推荐 Collection collection = new ArrayList(); ArrayList arrayList = new ArrayList();...(int index)) // 获取元素方法:get(下标值),只能通过下标取值; //当访问下标值超出了集合元素的最大下标值,报下标越界异常:java.lang.IndexOutOfBoundsException...isEmpty() { return size == 0; } 5.9 clear() //清空list集合方法:clear(),清除集合中的所有元素 源码 ublic void clear(

16820

Java ArrayList集合常用方法

参考链接: Java中的Array vs ArrayList 创建对象:与其他普通的引用数据类型创建方式完全相同,但要指定容器中存储的数据类型:  ArrayList 变量名 =...new ArrayList();  集合中存储的元素,只能为括号中指定的数据类型元素;  “”中的数据类型必须是引用数据类型,不能是基本数据类型; ...) 从集合中删除指定index处的元素,返回该元素  void clear() 清空集合中所有元素  Object set(int index, Object obj) 用指定元素obj替代集合中指定位置上的元素...  ArrayList源码解析  package java.util; public class ArrayList extends AbstractList         implements...的写入函数     // 将ArrayList的“容量,所有的元素值”都写入到输出流中     private void writeObject(java.io.ObjectOutputStream s

30500

Java集合ArrayList源码分析

概述 ArrayList可以理解为动态数组, 根据MSDN的说法, 就是Array的复杂版本. 与数组相比, 它的容量能动态增长. ArrayList是List接口的可变数组的实现....随着向ArrayList中不断添加元素, 其容量也自动增长, 自动增长会带来数据向新数组的重新拷贝, 因此, 如果可预知数据量的多少, 可在构造ArrayList时指定其容量....ArrayList原理 ArrayList实现了List接口、底层使用数组保存所有元素, 其操作基本上是对数组的操作. ? ArrayList继承了AbstractList, 实现了List....ArrayList实现了RandmoAccess接口, 即提供了随机访问功能. RandmoAccess是java中用来被List实现的, 为List提供快速访问功能的....ArrayList实现java.io.Serizlizable接口, 这意味着ArrayList支持序列化, 能通过序列化去传输. 1.ArrayLIst底层用数组实现 ? 其他字段: ?

43220

Java集合深度解析之ArrayList

ArrayList源码剖析 ArrayList的源码如下(加入了比较详细的注释): package java.util; public class ArrayListextends AbstractList...= 0; } // 从index位置开始,将集合c添加到ArrayList public boolean addAll(int index, Collection c) {...的写入函数 // 将ArrayList的“容量,所有的元素值”都写入到输出流中 private void writeObject(java.io.ObjectOutputStream...Java强烈推荐在复制大量数组元素时用该方法,以取得更高的效率。 4. 注意ArrayList的两个转化为静态数组的toArray方法。 第一个,Object[] toArray()方法。...该方法有可能会抛出java.lang.ClassCastException异常,如果直接用向下转型的方法,将整个ArrayList集合转变为指定类型的Array数组,便会抛出该异常,而如果转化为Array

77260

JAVA集合ArrayList源码分析

简介 ArrayList的概述 ArrayList是我们开发中非常常用的数据存储容器之一,其底层是数组实现的,我们可以在集合中存储任意类型的数据,ArrayList是线程不安全的,非常适合用于对元素进行查找...ArrayList集合源码分析 首先看看ArrayList的结构图 分析结构 为什么要先继承AbstractList,而让AbstractList先实现List?..., java.io.Serializable { // 版本号 private static final long serialVersionUID = 8683452581122892189L...,就导致数据不一致的发生,当出现这种情况就会触发 fail-fast机制 总结 1.ArrayList集合是允许存放NULL值的 2.ArrayList集合本质上就是一个元素数组 3.ArrayList...集合与数组的区别在于ArrayList可以自动进行扩容 4.ArrayList集合实现了RandomAccess接口,也就意味着使用for循环效率会更高 5.ArrayList集合底层是采用的数组进行存储数据

24430

Java集合源码分析(一)ArrayList

前言   在前面的学习集合中只是介绍了集合的相关用法,我们想要更深入的去了解集合那就要通过我们去分析它的源码来了解它。希望对集合有一个更进一步的理解!   既然是看源码那我们要怎么看一个类的源码呢?...3)ArrayList的用法和Vector向类似,但是Vector是一个较老的集合,具有很多缺点,不建议使用。     ...另外,ArrayList和Vector的区别是:ArrayList是线程不安全的,当多条线程访问同一个ArrayList集合时,程序需要手动保证该集合的同步性,而Vector则是线程安全的。   ...Cloneable, java.io.Serializable { // 版本号 private static final long serialVersionUID = 8683452581122892189L...4)arrayList中removeAll(collection c)和clear()的区别就是removeAll可以删除批量指定的元素,而clear是全是删除集合中的元素。

95360

Java集合ArrayList扩容机制

,如果指定的集合为空,则抛出NullPointerException public ArrayList(Collection<?...this.elementData = EMPTY_ELEMENTDATA; } } 以无参数构造方式创建ArrayList时,实际上初始化赋值的是一个空数组(public ArrayList...以此类推… 这里补充一点比较重要,但是容易被忽视掉的知识点: java中的length属性是针对数组说的,比如说你声明了一个数组,想知道这个数组的长度则用到了length这个属性。...java中的length() 方法是针对字符串说的,如果想看这个字符串的长度则用到 length() 这个方法。...java中的size() 方法是针对泛型集合说的,如果想看这个泛型有多少元素,就调用此方法类查看! System.arraycopy() 方法 // 将指定的元素插入此列表中的指定位置。

25410

Java集合-3】ArrayList简析

Java集合03 ArrayList简析 在前面的集合框架那一章中,简单总结了Java集合的架构,List是Collection下的一大分支,而ArrayList又是List中最为常用的。...与Java中的数组相比,它的容量能动态增长。 ArrayList 是一个数组队列,继承了AbstractList,实现了List,提供了元素添加、删除、修改、遍历等功能。...ArrayList 实现java.io.Serializable接口,这意味着ArrayList支持序列化,能通过序列化去传输。...排序 ArrayList集合排序依赖于Collections.sort(),其默认是按升序排序的,如果想要降序排列,需重写Collections.sort()方法。...删除元素 现在有 [a,a,b,c,e,a,d] 这么一个ArrayList集合,删除该集合中的所有的"a"。

34210

扫码

添加站长 进交流群

领取专属 10元无门槛券

手把手带您无忧上云

扫码加入开发者社群

相关资讯

热门标签

活动推荐

    运营活动

    活动名称
    广告关闭
    领券