菜鸟的学习之路(9) — ArrayList类
一.认识ArrayList:
1.ArrayList是一个动态的数组(集合),可以在生成后对其中的内容进行增删改。相对于Array(静态数组),使用更灵活,可以对其内容进行修改。
2.实现的接口是Collection和Iterable、List、RandomAccess、Cloneable、Serializable接口。
3.ArrayList的父类是AbstractList,它的子类有:AttributeList,RoleList,RoleUnresolvedList。
4.ArrayList的源码中可以看出,它的底层是用数组实现的。
简单操作:
二.ArrayList详解:
1).构造方法:
a)ArrayList()
构造一个初始容量为十的空列表。
例: ArrayList array = new ArrayList();
b)ArrayList(Collection)
构造一个包含指定Collection的元素列表,按照返回顺序排序。
c)ArrayList(int)
构造一个指定容量的空列表。
2).方法:
帮助文档中的截图:
可能在这里看不清楚,大家可以看帮助文档的。
3).ArrayList的使用注意:
如果增加的元素个数超过10个,就会在底层重新生成一个新的数组,长度为原数组长度的1.5倍+1,然后就将原数组中的内容复制过来,后续的要增加的内容会在新数组后添加,如果在超出范围,继续重复上边的操作。
删除集合中的元素时,删除的元素位置让后一个元素代替,统一的向前移动一个位置。
集合中存放的只能是对象,而且都是Object类型,原生数据类型无法放置在里面,所以我们需要包装类,来进行存放。 例: array.add(new Integer(1));
当取出集合中的值时,需要进行强制转换,转换为存进去时的类型。
部分方法的使用:
菜鸟的学习之路(9) — ArrayList类相关推荐
- typescript学习之路(四) —— ts类的继承(包含es5以及es6的类继承)
上一文已经写了es5,es6等类的定义,所以本章主要写es5和es6的继承,由于es6的继承和ts的继承如出一辙,只是加了类型定义而已,所以ts的继承稍微写下,不会太详细. 文章目录 es5继承 原型 ...
- Java学习之路-day-09 ArrayList集合
Java ArrayList集合 每日一句 1. ArrayList 1.1 ArrayList类概述 1.2 ArrayList类常用方法 1.3 ArrayList存储字符串并遍历 1.4 Arr ...
- 菜鸟的学习之路(10) — LinkedList类
一.认识LinkedList类: 实现的接口:Serializable,Cloneable,Iterable,Collection,Deque,List,Queue 父类:AbstractSequen ...
- 菜鸟的学习之路(13) —TreeSet类的排序
一.TreeSet类解析: 1.TreeSet是依靠TreeMap实现的. 2.TreeSet中不能有重复的元素,而且是有序排列的. 3.自定义的类要想实现排序,实现Comparable接口,重写co ...
- 菜鸟的学习之路(12) —HashSet类详解
一.HashSet类详解: HashSet类的底层是HaskMap实现的.存入HashSet的元素是有HashMap的key来保存的.而HashMap的值是一个Object对象. HashSet中是不 ...
- 菜鸟的学习之路(7) — 包(package)、Object类和String类
一.包(package): 1.包:用于将不同功能的类分门别类,放在不同的目录(包)下. 命名规范:一般采用自己在互联网上的域名称作为自己程序包的唯一前缀,且域名翻转,每个字母小写. 例如:bztc. ...
- 爬虫|菜鸟的学习之路——爬取一本小说
前言:本次爬取的是全书网的某一本小说并以.TXT格式下载到本地. 工具:python3 和 pycharm Python库:urllib.request 和 re 注意:python是用3以上的版本, ...
- java学习之路7——常用类
一.Object类 超类.基类.左右类的直接或者间接父类,位于继承树的最顶层. 任何类,如果没有写extends显示继承某个类,默认都直接继承Object类.否则为间接继承. Object类中所定义的 ...
- 菜鸟的学习之路(8) — 数组(Array)
一.数组(Array): 1.数组:相同类型数据的集合就叫做数组. 定义的数组: type[ ] 变量名 = new type[数组中的元素个数]; 或 type 变量名[] = new type[数 ...
最新文章
- C++__conversion function,Non-explicit one argument constructor
- loadruner中加中Java_Script
- layerui的弹出层只显示两行英文字符不换行的解决方法
- 转,Oracle中关于处理小数点位数的几个函数,取小数位数,Oracle查询函数
- hibernate注解实体类(Dept.java)
- 去哪儿-08-city-search
- python病毒usb文件自动安装_将文件自动复制到USB上
- Oracle分析函数-nulls first/nulls last
- python_numpy的基础
- 【学习笔记3】hook、冒烟测试、Procexp的使用
- 十个摸鱼,哦,不对,是炫酷(可以玩一整天)的网站!!!
- git制作patch补丁
- 【C++】日期类题目总结
- 201704 创建财务凭证函数
- 微信小程序引入组件以及catchtouchmove实现拖动效果
- 【线上问题】线上故障分析-故障分级,原因,分类,混沌工程,排除方法
- 送一个大马给有需要的人,请不要做非法之事
- 蓝桥杯单片机设计与开发笔记(一)
- 光纤网卡和HBA卡有什么区别
- QBC以及QBE例子