Arraylist集合 -----添加方法 1.add(E e) 向集合中添加元素 /** * 检查数组容量是否够用 * @param minCapacity */ public void ensureCapacity(int minCapacity){ modCount++; int oldCapacity = elementData.length; if(minCapacity > oldCapacity){ Object oldData[] = elementData; int newCa…
ArrayList有三个构造方法 ArrayList有三个常量 1.private transient Object[] elementData (数组); 2.private int size (元素个数) 1.ArrayList(int initialCapacity); 构造一个初始容量的集合 /** * 序列化 */ private static final long serialVersionUID = -6277824875242725854L; /** * 定义一个数组 */ pr…
ArrayList简介 ArrayLIst是动态数组,用MSDN的说法就是Array的复杂版本,它提供了动态的增加和减少元素,实现了Collection和List接口,可以灵活的设置数组的大小,要注意ArrayLIst并不是线程安全的.因此一般建议在单线程中使用Arraylist数组 ArrayList的继承关系 public class Arraylist extends AbstractList<E> implement List<E>,RandomAccess,Cloneab…
Java集合框架之ArrayList浅析 一.ArrayList综述: 位于java.util包下的ArrayList是java集合框架的重要成员,它就是传说中的动态数组,用MSDN中的说法,就是Array的复杂版本,jdk1.8中对ArrayList的定义如下 public class ArrayList<E> extends AbstractList<E> implements List<E>, RandomAccess, Cloneable, java.io.Se…
不多说,直接上干货! 集合框架中包含了大量集合接口.这些接口的实现类和操作它们的算法. 集合容器因为内部的数据结构不同,有多种具体容器. 不断的向上抽取,就形成了集合框架. Map是一次添加一对元素.Collection是一次添加一个元素. iterator是迭代获取元素 第一大类:Iterator 迭代器是一个对象,它是遍历并选择序列中的对象. 说比了,就是给后面的Collection接口里的实现类使用搭配的,为了取值罢了.    Iterator 只能正向遍历集合,适用于获取移除元素. Li…
第三阶段 JAVA常见对象的学习 集合框架概述和集合的遍历 (一) 集合框架的概述 (1) 集合的由来 如果一个程序只包含固定数量的且其生命周期都是已知的对象,那么这是一个非常简单的程序. 通常,程序总是根据运行时才知道的某些条件去创建新对象.在此之前,不会知道你所需要对象的数量,甚至不知道确切的类型.为了解决这个普遍的编程问题,需要在任意时刻和任意位置创建任意数量的对象.所以,就不能依靠创建命名的引用来持有每一个对象,因为你不知道实际上会需要多少这样的引用 ​ --Thinking in Ja…
引用数据类型(类) 分类 提到引用数据类型(类),其实我们对它并不陌生,如使用过的Scanner类.Random类. 我们可以把类的类型为两种: 第一种,Java为我们提供好的类,如Scanner类,Random类等,这些已存在的类中包含了很多的方法与属性,可供我们使用. 第二种,我们自己创建的类,按照类的定义标准,可以在类中包含多个方法与属性,来供我们使用. 类的定义和使用 java代码映射成现实事物的过程就是定义类的过程. 我们就拿一部手机进行分析,它能用来做什么呢?它可以打电话,上网,聊微…
1.概述 1.1.Java集合框架的由来 1.2.什么是集合框架? 1.3.为什么需要集合框架 1.4.常用的框架接口规范 2.Vector类 2.1.存储原理 2.2.构造方法 2.3.常用方法 3.Stack类 3.1.什么是栈 3.2.栈的构造方法和常用方法 4.ArrayList类 5.LinkedList类 5.1定义 5.2.常用方法 1.概述 1.1.Java集合框架的由来 刚开始的时候java只有Vetor,Stack,Hashtable这些同容器类用来保存大量的对象.容器类是可…
深入理解Java并发框架AQS系列(一):线程 深入理解Java并发框架AQS系列(二):AQS框架简介及锁概念 一.概述 1.1.前言 重剑无锋,大巧不工 读j.u.c包下的源码,永远无法绕开的经典并发框架AQS,其设计之精妙堪比一件艺术品,令众多学者毫不吝惜溢美之词.近期准备出一系列关于AQS的文章,系统的来讲解AQS,我将跟大家一起带着敬畏之心去读她,但也会对关键部分提出质疑及思考 本来打算直接以阐述锁概念作为开头,但发现始终都绕不过线程这关,再加上现在好多讲述线程的文章概念混淆不清,误人…
深入理解Java并发框架AQS系列(一):线程 深入理解Java并发框架AQS系列(二):AQS框架简介及锁概念 一.AQS框架简介 AQS诞生于Jdk1.5,在当时低效且功能单一的synchronized的年代,某种意义上讲,她拯救了Java 注:本系列文章所有测试用例均基于jdk1.8,操作系统为macOS 1.1.思考 我们去学习一个知识点或开启一个新课题时,最好是带着问题去学习,这样针对性比较强,且印象比较深刻,主动思考带给我们带来了无穷的好处 抛开AQS,设想以下问题: Q:如果我们遇…