集合框架2- ArrayList】的更多相关文章

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…
概述--集合框架 Java语言的设计者对常用的数据结构和算法做了一些规范(接口)和实现(具体实现接口的类).所有抽象出来的数据结构和操作(算法)统称为Java集合框架(Java Collection Framework).Java程序员在具体应用时,不必考虑数据结构和算法实现细节,只需要用这些类创建出来一些对象,然后直接应用就可以了,这样就大大提高了编程效率. 为什么出现集合类? 面向对象语言对事物的体现都是以对象的形式,所以为了方便对多个对象的操作,就对对象进行存储,集合就是存储对象最常用的一…
前面已经学习完了List部分的源码,主要是ArrayList和LinkedList两部分内容,这一节主要总结下List部分的内容. List概括 先来回顾一下List在Collection中的的框架图: 从图中我们可以看出: 1. List是一个接口,它继承与Collection接口,代表有序的队列. 2. AbstractList是一个抽象类,它继承与AbstractCollection.AbstractList实现了List接口中除了size().get(int location)之外的方法…
一.ArrayList是List接口下的一个实现类,实现了长度可变的.连续的数组:拥有数组的特性. 遵循了LIst的规则:不唯一的.有序的. 如果没有增加泛型的话,集合中可以添加任何类型的数据. 使用ArrayList类之前,需要导入相应的接口和类: import java.util.ArrayList; import java.util.LIst; ArrayList对于查询数据数据, 添加泛型后: 使用对象类型 在ArrayLisit中提供了很多方法用于对集合的操作,以下列举常用方法 Arr…
最近忙着替公司招人好久没写了,荒废了不好意思. 上一章学习了Collection的架构,并阅读了部分源码,这一章开始,我们将对Collection的具体实现进行详细学习.首先学习List.而ArrayList又是List中最为常用的,因此本章先学习ArrayList.先对ArrayList有个整体的认识,然后学习它的源码,深入剖析ArrayList. 1. ArrayList简介 首先看看ArrayList与Collection的关系: ArrayList的继承关系如下: java.lang.O…
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 声明 增删改查元素 遍历几种方式 空集合 子集合 不可变集合 LinkedList Lists 排序 类型转换 取交集 移动元素 删除交集元素 Sets 集合特点 常用方法 根据set创建list 结语 集合 集合种类 List<String> list = new ArrayList<>(data); Set<String> set1 = new HashSet<>(data); // 值不重复 SortedSet<…
大佬理解->Java集合之ArrayList 1.ArrayList的特点 存放的元素有序 元素不唯一(可以重复) 随机访问快 插入删除元素慢 非线程安全 2.底层实现 底层初始化,使用一个Object类型的空对象数组,初始长度为0; 源码 //Object类型对象数组引用 transient Object[] elementData; //默认空的Object数组 private static final Object[] DEFAULTCAPACITY_EMPTY_ELEMENTDATA =…
参考http://how2j.cn/k/collection/collection-arraylist/363.html 使用数组的局限性 一个长度是10的数据:Hero[] heroArr=new Hero[10]; 如果用数组存放数据,那么超过10的数据就放不下了 如果数据不足10个,那么数组空间就浪费了 package collection; import charactor.Hero; public class TestCollection { public static void ma…