【java】学习路径25-ArrayList类,Vector类,LinkedList类的使用和区别,Iterator迭代器的使用
Posted on 2022-04-01 17:39 罗芭Remoo 阅读(34) 评论(0) 编辑 收藏 举报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);