ArrayList的使用

ArrayList类:可变化长度的数组。

与一般的数组不同的是,其长度不固定,可以添加任意类型的数据。

也可以添加不同类型的数据,但是一般不这么做。


ArrayList类位于java.util.ArrayList下,使用前需引用。

import java.util.ArrayList

初始化方法:

ArrayList al = new ArrayList();//容器

添加单个数据:

1-添加在ArrayList数组的最后:

al.add("remoo");

2-在指定索引处添加:

al.add(0,"jack");

ArrayList还支持添加一整个ArrayList数组:

al.addAll(al2);

获取ArrayList数组:

i为数组索引。

al.get(i)

需要注意的点:

读取int等数值类型进行数学运算的时候,我们必须需要进行强制类型转换。

以下两种操作是错误的:

ArrayList ck = new ArrayList();
ck.add(11);
ck.add(123);
ck.add(442);
int result1 =0;
for (Object ob : ck)
result1+=ob; System.out.println("result:" + result1);
System.out.println(ck.get(0)+ck.get(1));

我们需要对ob进行强制类型转换。

在for循环语句中的代码修改为:

result1+=(int)ob;

移除数据有两种方法,通过索引移除或者通过内容移除。

al.remove(1);
al.remove("jack");

如果内容有重复,则会只移除索引值较小的那一个成员。


判断是否为空的ArrayList

al.isEmpty();

返回boolean。


判断是否包含某内容

al.contains("remoo");

迭代器Iterator的使用

作用:可以简单理解为遍历数组之用

优点:非常方便

缺点:一次性

初始化:需要指定对哪一个ArrayList所创建的遍历器。

Iterator iterator = al.iterator();

里边有next(),hasNext()等常用方法。

while(iterator.hasNext()){
System.out.println(iterator.next());
}

以上方法即可轻轻松松遍历所有的内容。


Vector类和ArrayList类的异同:

使用上是一模一样的。

Vector是线程安全的,但是ArrayList更高效适合用于单线程的程序当中。


ArrayList类和LinkedList类的异同:

后者适合频繁插入或删除数据,一般用于需求大量添改数据的业务。

后者有两种新的方法:

lks.addFirst(1);
lks.addLast(999);

【java】学习路径25-ArrayList类,Vector类,LinkedList类的使用和区别,Iterator迭代器的使用的更多相关文章

  1. Java中List,ArrayList、Vector,map,HashTable,HashMap区别用法

    Java中List,ArrayList.Vector,map,HashTable,HashMap区别用法 标签: vectorhashmaplistjavaiteratorinteger ArrayL ...

  2. ArrayList、Vector、LinkedList的区别联系?

    1.ArrayList.Vector.LinkedList类都是java.util包中,均为可伸缩数组. 2.ArrayList和Vector底层都是数组实现的,所以,索引数据快,删除.插入数据慢. ...

  3. ArrayList、Vector、LinkedList的特点和区别

    ArrayList.Vector.LinkedList类均在java.util包中,均为可伸缩数组. 1)ArrayList和Vector都是基于存储元素的Object[] array来实现的,它们会 ...

  4. ArrayList、Vector和LinkedList的区别

    ArrayList.Vector和LinkedList类均在java.util包下,均为可伸缩数组,即可以动态改变长度的数组 ArrayList和Vector都是基于存储元素的Object[] arr ...

  5. ArrayList 、Vector 和 LinkedList 有什么区别?

    ArrayList.Vector .LinkedList 类均在java.util 包中,均为可伸缩数组,即可以动态改变长度的数组. ArrayList 和 Vector 都是基于存储元素的 Obje ...

  6. List接口实现类-ArrayList、Vector、LinkedList集合深入学习以及源代码解析

    学习List接口实现类 ArrayList  Vector  LinkedList List接口的实现类中最经常使用最重要的就是这三个:ArrayList.Vector.LinkedList. JDK ...

  7. Java ArrayList、Vector和LinkedList等的差别与用法(转)

    Java ArrayList.Vector和LinkedList等的差别与用法(转) ArrayList 和Vector是采取数组体式格式存储数据,此数组元素数大于实际存储的数据以便增长和插入元素,都 ...

  8. Java学习路径及练手项目合集

    Java 在编程语言排行榜中一直位列前排,可知 Java 语言的受欢迎程度了. 实验楼上的[Java 学习路径]中将首先完成 Java基础.JDK.JDBC.正则表达式等基础实验,然后进阶到 J2SE ...

  9. Java容器类List、ArrayList、Vector及map、HashTable、HashMap的区别与用法

    Java容器类List.ArrayList.Vector及map.HashTable.HashMap的区别与用法 ArrayList 和Vector是采用数组方式存储数据,此数组元素数大于实际存储的数 ...

  10. Java集合(2)——深入理解ArrayList、Vector和LinkedList

    回顾 Java集合主要分为两个体系结构,Collection和Map.这篇博客主要介绍Collection子接口List下的三个经常使用的实现类:ArrayList.Vector和LinkedList ...

随机推荐

  1. Javaer 面试必背系列!超高频八股之三色标记法

    可达性分析可以分成两个阶段 根节点枚举 从根节点开始遍历对象图 前文提到过,在可达性分析中,第一阶段 "根节点枚举" 是必须 STW 的,不然如果分析过程中用户进程还在运行,就可能 ...

  2. Redis的内存淘汰策略(八)

    一:Redis的AOF是什么? 以日志的形式来记录每个写操作(读操作不记录),将Redis执行过的所有写指令记录下来(读操作不记录),只许追加文件但不可以改写文件,redis启动之初会读取该文件重新构 ...

  3. windows下安装和使用virtualenvwrapper-win

    安装 pip安装 pip install virtualenv pip install virtualenvwrapper-win 修改默认创建环境的位置 创建环境变量 新建环境变量:WORKON_H ...

  4. 【Java面试】@Resource 和 @Autowired 的区别

    Hi,大家好,我是Mic. 一个工作2年的粉丝,问我一个Spring里面的问题. 希望我能从不同的视角去分析,然后碾压面试官. 这个问题是: "@Resource和@Autowired&qu ...

  5. HTML知识点概括——一篇文章带你完全掌握HTML

    HTML知识点概括 前端三件套分别是HTML3,CSS5,JavaScript 稍微介绍一下W3C标准: 结构化标准语言(HTML) 表现标准语言(CSS) 行为标准(DOM,JavaScript) ...

  6. 2020 CSP-J 初赛解析

    题面  老师给的解析  自己觉得很好的一篇题解 直接说重点题吧,不耽误时间了 T5: 这个很显然就是让进这个 while 的次数尽可能少, 那么我们可以让他只进一次 while,即让第一次进 whil ...

  7. DIY蓝牙hub F1方向盘

    介于已经入手了自己的第一套OWS FFB直驱力反馈方向盘,因此决定要自己做一款F1方向盘盘面,来提升一下F1 2020游戏的游戏体验感.整体的技术路线如下: [技术路线] 主控:esp32 软件环境: ...

  8. 使用docker buildx打包发布多平台镜像

    2022-07-07 个人比较喜欢影视作品,下载了大量的剧集视频,有些文件的命名不规范,就需要重新命名,之前是用的一款 renamer 客户端软件,用起来不太爽就自己做了个 bs 架构的重命名软件并开 ...

  9. 【docker专栏5】详解docker镜像管理命令

    一.国内Docker镜像仓库 由于大家都知道的原因,从国外的docker 仓库中pull镜像的下载速度实际上是很慢的.国内的一些一线厂商以及docker官方都在国内免费提供了一些docker镜像仓库, ...

  10. springboot java -jar指定启动的jar外部配置文件

    Limited Setting Effect 中文描述 Java 8 -Xbootclasspath:<path> Sets the search path for bootstrap c ...