我们知道,数组是静态的,只有当它的大小确定了才能给它初始化赋值,而且这个大小是不能被修改的,所以有时候你刚开始不确定你要输入数据的多少时,简单的数组不好实现(万一你输入的数据多于数组大小时,就会报错:数组溢出),为此java引用了" 数组列表".数组列表格式如下:

ArrayList<参数类型>  变量名字= new ArrayList<参数类型可以没有>(容量大小也可以不写)

注意:只能是引用对象才可以使用ArrayList 如果基本数据类型想使用的话需要使用装箱器才可以使用!!!也就是说要想使用基本类型的数组列表,就必须 装箱 .像int装箱就变成Integer;

java中数组列表ArrayList 是一个类,它有构造函数和方法;
ArrayList构造函数:

ArrayList方法:

使用add方法可以将元素添加到数组列表中,数组列表管理着对象引用的一个内部数组,当数组的全部空间被用尽时,数组列表就会自动地创建一个更大的数组,并将所有的对象从较小的数组中拷贝到较大的数组中。

size方法将返回数组列表中包含的实际元素数目。
trimToSize方法将存储区域的大小调整为当前元素数量所需要的存储空间数目,垃圾回收器将回收多余的存储空间。要慎用,只有在确定不会在添加任何元素时,才调用
要想实现访问和改变数组元素就要使用get和set方法,而不使用人们喜爱的“[ i ]“语法格式。
当数组元素非常多时,对数组列表插入和删除的操作效率比较低,因为得将插入或删除元素位置之后的元素全都向前移动一个位置,这时就应该使用链表了。

看下面代码:

ArrayList<Integer> list=new ArrayList();
list.add(3);

“3"本来是基本类型,当调用list.add(3);时,会自动变化成list.add(Integer.valueOf(3));,这种变换就叫"自动装箱”;

int n=list.get(i);

同样的,这回自动转化成int n=list.get(i).intValue();,这种变换就叫“自动拆箱”

javaArrayList相关推荐

  1. java-ArrayList实现一个电商管理系统的商品库存管理模块

    java-ArrayList实现一个电商管理系统的商品库存管理模块 实现一个电商管理系统的商品库存管理模块 商品(Goods)包含如下属性信息: 编号(int no) 商品名(String name ...

  2. Java-ArrayList和Vector的区别

    这两个类都实现了List接口(List接口继承了Collection接口),他们都是有序集合,即存储在这两个集合中的元素的位置都是有顺序的,相当于一种动态的数组,我们以后可以按位置索引号取出某个元素, ...

  3. Java-ArrayList使用技巧---从第一个List中去除所有第二个List中与之重复的元素

    需求:从 mAllList 中去除所有 mSubList 中与之重复的元素 测试数据:mAllList 中包含100000个无序无重复字符串,mSubList 中包含50000个无序无重复字符串 方法 ...

  4. Java-ArrayList.Itr类(Iterator的实现)

    本文介绍java迭代器的实现之一,ArrayList类的迭代器实现 本文示例代码如下 public static void main(String[] args) {List<String> ...

  5. 【Java学习002】Java-ArrayList源码解析

    ArrayList源码解析 1.1底层数据结构 定义:实现List接口的可扩容数组实现. 数组特点: 查询快:数组开辟的是连续空间,所以可以依靠索引进行快速查询. 增删慢:每次删除元素,都需要更改数组 ...

  6. JavaArrayList和数组间的相互转换

    一.ArrayList转换为数组 ArrayList提供public T[] toArray(T[] a)方法返回一个按照正确的顺序包含此列表中所有元素的数组,返回数组的运行时类型就是指定数组的运行时 ...

  7. java---ArrayList排序学习

    呜呜呜 看淘宝 一早上过去了,昨天晚上也是tb tb,写代码写代码,克制消费的冲动!!!! 学习使人克制 1.Collections 类,位于 java.util 包中,提供的 sort() 方法可以 ...

  8. javaArrayList添加及打印

    Studnet类包含id跟姓名 package list.entity;/*** @Author Administrator* @Date 2022/4/24 15:04*/ public class ...

  9. Android ArryaList 笔记

    Arraylist相当于动态数组,可以动态的添加或者删除其中的元素. 参考链接 http://beginnersbook.com/2013/12/java-arraylist/ package com ...

最新文章

  1. 【原创】大数据基础之Spark(9)spark部署方式yarn/mesos
  2. 众所周知,YouTube是个学习网站
  3. 爬虫(一)jupyter环境安装
  4. win10下JDK环境变量配置与IDEA开发工具清晰简洁步骤,迈出Java学习第一步
  5. 新时代 新营销 新增长, 纷享销客重磅发布CRM7.0产品,持续赋能企业数字化未来
  6. 洛谷 P1966 火柴排队 —— 思路
  7. Hash Table in C
  8. 几款查看dll和exe信息的小工具
  9. 【智能算法】PSO粒子群算法求解无约束多元函数最值(Java代码实现)
  10. 专访刘琛梅:如何全面提升测试效率和质量?
  11. 卷积神经网络(CNN)与深度卷积神经网络(DCNN)
  12. MIPI DSI的linux kernel驱动原理 | 基于RK3399
  13. Spring3.2.1+Hibernate4.1.7 多数据源动态切换
  14. Android录制微信小视频
  15. PIP安装本地离线包whl
  16. 腾讯mars xlog源码解析
  17. 1万条数据大概占多大空间_mysql亿级数据数据库优化方案测试-银行交易流水记录的查询...
  18. 空气污染数据的空间地图绘制(点转面画出来)
  19. 如何下载蓟州区卫星地图高清版大图
  20. sql函数--04---ROW_NUMBER() OVER()函数用法详解

热门文章

  1. 怎样选择好的海外服务器?
  2. CVPR2020 | 中科院VIPL实验室录取论文详解
  3. winhex数据恢复linux,使用winhex对已删除文件进行恢复
  4. CDH WebUI无响应问题记录
  5. 快手用模拟器会被检测吗_欧森杰检测仪:氧气检测仪弄脏了可以用水洗吗?
  6. 手机高端市场跃变前夜:谁是关键变量 ?
  7. insertBefore方法
  8. python+vue蛋糕甜品在线购物商城网站django
  9. 1.02亿美元从数字资产基金撤出!BTC价格已经触底!预示下跌趋势即将逆转?
  10. 用 Python 定制可爱的举牌小人