Arraylist集合 -----添加方法

1、add(E e) 向集合中添加元素

  

/*** 检查数组容量是否够用* @param minCapacity*/public void ensureCapacity(int minCapacity){modCount++;int oldCapacity = elementData.length;if(minCapacity > oldCapacity){Object oldData[] = elementData;int newCapacity = (oldCapacity * 3)/2+1;if(newCapacity < minCapacity){newCapacity  = minCapacity;elementData = Arrays.copyOf(elementData, newCapacity);}}}

/* (non-Javadoc)* 向ArrayList中添加元素* @see java.util.AbstractList#add(java.lang.Object)*/public boolean add(E e){ensureCapacity(size+1);elementData[size++] = e;return true;}

 2、add(int  index ,E e) 向集合的指定索引处添加元素

  

/*** Inserts the specified element at the specified position in this* list. Shifts the element currently at that position (if any) and* any subsequent elements to the right (adds one to their indices).** @param index index at which the specified element is to be inserted* @param element element to be inserted* @throws IndexOutOfBoundsException {@inheritDoc}*/public void add(int index, E element) {if (index > size || index < 0)throw new IndexOutOfBoundsException("Index: "+index+", Size: "+size);ensureCapacity(size+1);  // Increments modCount!!System.arraycopy(elementData, index, elementData, index + 1,size - index);elementData[index] = element;size++;}

  3、addAll(Collection< ? extends E> c) 添加集合

 

/* * 添加元素集合* (non-Javadoc)* @see java.util.AbstractCollection#addAll(java.util.Collection)*/public boolean addAll(Collection<? extends E> c){Object[] a = c.toArray();int numNew = a.length;ensureCapacity(size+numNew);System.arraycopy(a, 0, elementData, size, numNew);size+=numNew;return numNew!=0;}

  4、addAll(int index, Collection<? extends E> c); 在指定索引出添加集合

  

public boolean addAll(int index, Collection<? extends E> c) {if (index > size || index < 0)throw new IndexOutOfBoundsException("Index: " + index + ", Size: " + size);Object[] a = c.toArray();int numNew = a.length;ensureCapacity(size + numNew);  // Increments modCountint numMoved = size - index;if (numMoved > 0)System.arraycopy(elementData, index, elementData, index + numNew,numMoved);System.arraycopy(a, 0, elementData, index, numNew);size += numNew;return numNew != 0;}

  

转载于:https://www.cnblogs.com/hanxue112253/p/9537709.html

深入理解java集合框架之---------Arraylist集合 -----添加方法相关推荐

  1. java集合的添加方法_深入理解java集合框架之---------Arraylist集合 -----添加方法

    Arraylist集合 -----添加方法 1.add(E e) 向集合中添加元素 /** * 检查数组容量是否够用 * @param minCapacity */ public void ensur ...

  2. 集合框架之ArrayList集合

    ArrayList集合的介绍与应用 import java.util.ArrayList; public class TextArraryList { public static void main( ...

  3. java arraylist 构造_深入理解java集合框架之---------Arraylist集合 -----构造函数

    ArrayList有三个构造方法 ArrayList有三个常量 1.private transient Object[] elementData (数组); 2.private int size (元 ...

  4. 集合框架(去除ArrayList集合中的重复字符串元素案例2)

    package cn.itcast_04; import java.util.ArrayList; import java.util.Iterator; /* * 需求:ArrayList去除集合中字 ...

  5. 14 Java集合(集合框架+泛型+ArrayList类+LinkedList类+Vector类+HashSet类等)

    本篇主要是集合框架基础和List集合,Map集合等等后续更 集合 14.1 集合框架 14.1.1 概念 14.1.2 集合架构 14.2 Collection接口 14.2.1 常用方法 14.3 ...

  6. 牛客网Java刷题知识点之Java 集合框架的构成、集合框架中的迭代器Iterator、集合框架中的集合接口Collection(List和Set)、集合框架中的Map集合...

    不多说,直接上干货! 集合框架中包含了大量集合接口.这些接口的实现类和操作它们的算法. 集合容器因为内部的数据结构不同,有多种具体容器. 不断的向上抽取,就形成了集合框架. Map是一次添加一对元素. ...

  7. java集合课程,I学霸官方免费课程三十三:Java集合框架之Map集合

    I学霸官方免费教程三十三:Java集合框架之Map集合 Map接口 Map集合采用键值对(key-value)的方式存储数据,其中键不可以重复.值可以重复. 常用类有HashMap.TreeMap和P ...

  8. 深入理解Java并发框架AQS系列(四):共享锁(Shared Lock)

    深入理解Java并发框架AQS系列(一):线程 深入理解Java并发框架AQS系列(二):AQS框架简介及锁概念 深入理解Java并发框架AQS系列(三):独占锁(Exclusive Lock) 深入 ...

  9. 【Java集合框架】ArrayList类方法简明解析(举例说明)

    本文目录 1.API与Java集合框架 2.ArrayList类方法解析 2.1 add() 2.2 addAll() 2.3 clear() 2.4 clone() 2.5 contains() 2 ...

最新文章

  1. Spacebuilder在Mono上运行修改备忘
  2. jvm性能调优实战 -33每日百亿数据量的实时分析引擎,如何定位和解决频繁Full GC问题
  3. 【nodejs笔记3】Express基本用法,和路由控制,和模板渲染ejs
  4. SuperSet连接Hive失败(客户端报日志拒绝连接)
  5. Eigen 简明教程之如何从Python转到Eigen
  6. Android 自动化测试框架简介
  7. java socket长连接怎么维持_socket长连接的维持
  8. php sizeof函数,sizeof()的简单介绍
  9. SuperWebSocket发布了第一个测试版
  10. ubuntu16中,google浏览器安装OneNote Web Clipper插件
  11. java 首字母小写转换_java实现将字符串中首字母转换成大写,其它全部转换成小写的方法示例...
  12. dom影像图形成数字地形图_数字地形图等高线怎么生成(海地软件地形图数字化高层数据层怎么选择,在哪里...)...
  13. MFC程序版本自动升级更新
  14. feedburner怎么用_新手RSS订阅使用指南
  15. 【selenium标签页操作】:关闭标签页
  16. 使用h5制作一个五子棋游戏
  17. 【深度访问】Cocos2d-JS精品《航海王启航》:我们是要成为游戏王的团队
  18. 基于单片机的智能宠物喂食器设计
  19. RxSwift系列—Driver
  20. 微信支付SDK的使用

热门文章

  1. 百度怎么进行模糊搜索_怎么在百度上准确搜索,提高10倍效率?
  2. 利用Python进行数据分析--数据聚合与分组运算1
  3. 逻辑回归与梯度下降法
  4. 过程语句 oracle,Oracle 过程控制语句整理
  5. 2清空所有表_mysql数据库学习(第十二篇) - 数据高级操作(2)
  6. WFDB软件包简介——ECG数据在Matlab下的读取/显示方法
  7. python 输出log_python:logging模块(记录打印日志)
  8. 网易用户认证架构设计 | session token | 公开课笔记-01
  9. 原生html如何发送网络请求,原生JS向服务器发送GET请求
  10. maven生命周期入门