导航:首页 > 编程语言 > arraylist遍历java

arraylist遍历java

发布时间:2022-09-04 04:19:00

A. java怎么循环遍历ArrayList

除了用for循环也可以用迭代器

ArrayList<String> al=new ArrayList<String>();
for(int i=0;i<10;i++){
al.add(String.valueOf(i));
}
Iterator<String> it=al.iterator();
while(it.hasNext()){
System.out.println(it.next());
}

B. Java数组的元素个数不固定,如何遍历或者用ArrayList写出来

String数组声明时长度n必须指定,怎么获得n就靠你输入一个或者其他方式去确定了。或者换成
ArrayList<String> list=new ArrayList<String>();
list.add("");
遍历:
foreach(String s in list){
System.out.println(s);

}
长度是list.size()
ArrayList其实就是数组,初始长度为10,好像在jdk哪个版本之后长度一旦超过10会重新声明一个长度为15的数组,并且重新赋值,之后类推,以数组长度的一半作为递增量,即是10-15-22(15+7)-33-。。。。
很久以前递增量是翻倍的,10-20-40-80.。。

C. 如何在java中实现List集合的遍历

java中实现List集合的遍历有三种方法:

方法一:for-each循环

for(Stringattribute:list){
System.out.println(attribute);
}

方法二:for循环

for(inti=0;i<list.size();i++){
system.out.println(list.get(i));
}

方法三:迭代器迭代

Iteratorit=list.iterator();
while(it.hasNext()){
System.ou.println(it.next);
}

D. java 遍历arraylist 哪种方法好

arraylist 数组的方式实现 , 当然是用for 循环 也可以用 foreach但是效率最高的还是用下标索引的方式

E. java遍历Arraylist比较大小:

直接访问ArrayList中的每个元素是不行的,因为ArrayList不可以实现随机访问。有一个办法:定义一个数组,比如;List<Integer> l=new ArrayList<Integer>();int arr[];arr=new int[l.size()];for(int i=0;i<l.size;i++){ arr[i]=l.get(i);}通过for循环取出ArrayList中的每个元素,存放在数组中,那么通过数组比较就容易了,因为数组通过下标可以方便的访问。

F. JAVA编程题目: ArrayList存储任意三个字符串,并遍历(迭代器遍历)

importjava.util.ArrayList;
importjava.util.Iterator;


publicclassTest{

publicstaticvoidmain(String[]args){
ArrayList<String>a=newArrayList<String>();
a.add("ABC");
a.add("DEF");
a.add("XYZ");
//写法1
for(Iterator<String>i=a.iterator();i.hasNext();){
Stringe=i.next();
System.out.println(e);
}
//写法2
for(Stringi:a){
System.out.println(i);
}
}
}

G. Java中遍历ArrayList的过程中删除元素操作会发生并发修改异常

首先搞清楚不是x=n-1不报错。是因为他避开了错误,实际当你用倒数第2个来删除的时候,他就已经跳出循环,不会判断最后以为,这是为什么呢?

我们先看看加强for循环是怎么实现的。都知道是通过迭代实现,那么将for写成迭代器来看。

Iterator<Object>itr=al.iterator();
while(itr.hasNext()){
Objecto=itr.next();
System.out.println(itr.hasNext());
if("n".equals(o)){
al.remove(o);
}
}

以上就是加强for循环的真正样子。再来透析源代码。

al.iterator():返回一个迭代器没什么好说的;

itr.hasNext():通过判断cursor(游标) != size(长度)来决定是否结束循环,cursor(游标) 初始是0 每次经过itr.next() +1;当cursor==size时 会跳出循环,这也是为什么倒数第2个不会出错的主要原因;

itr.next(): 看源代码可以发现每次在next()调用后,都会先调用checkForComodification()这个方法;

checkForComodification(): 主要作用是判断itr迭代器数据是否和list一致,

有两个参数,

第一个modCount 集合结构变动次数,如:一开始你add调用了7次,那么这个数就是7,

第二个expectedModCount 在调用iterator()方法时,初始化值等于modCount ,

这个方法判断当modCount !=expectedModCount 时

抛出异常,如果你调用迭代器的remove方法,expectedModCount 会重新赋值,但是你调用的是list的remove方法,那么modCount 就会+1 而expectedModCount 不变,这就会造成modCount !=expectedModCount;

最后,看看为什么倒数第2个不会抛异常:

当他遍历到“n-1”时,cursor=6,然后调用remover(o)方法,size=6,这个时候调用了itr.hasNext()判断cursor是否等于size,前面说过,当cursor==size时,跳出循环,那么就不会进入next(),也就不会进入checkForComodification()方法,所以不会抛出异常,说白了,也就是循环次数少了一次。

结合着源码看,应该会比较清晰。

H. java中怎么遍历list集合

常用的List集合, 可以使用下面几种方式进行遍历

参考代码

importjava.util.ArrayList;
importjava.util.Iterator;

publicclassTest{
publicstaticvoidmain(String[]args){
ArrayList<Integer>list=newArrayList<Integer>();
list.add(5);
list.add(8);
list.add(9);
//方案一推荐.简洁
for(Integere:list){
System.out.print(e+",");
}
//方案二
for(inti=0;i<list.size();i++){
System.out.println(list.get(i));
}
//方案三
Iterator<Integer>it=list.iterator();
while(it.hasNext()){
System.out.println(it.next());
}

}
}

I. java ArrayList 随机访问、遍历 性能

说ArrayList在进行随机访问和遍历元素时,能提供较好的性能应该是跟LinkList对比的吧,插入删除操作多的话用LinkList比较好,《Java编程思想》是这样说的

阅读全文

与arraylist遍历java相关的资料

热点内容
汽车听声音解压 浏览:233
硬核程序员 浏览:546
文件夹变醒目 浏览:41
国外上映国内未上映的电影网站 浏览:584
香港服务器卡顿怎么解决 浏览:161
linuxoracletns 浏览:831
androidgallery3d 浏览:95
怎么查订阅了哪些app 浏览:7
下载站用的什么服务器 浏览:788
原神的服务器如何分辨 浏览:886
每天pdf 浏览:518
安卓手机怎么设置关闭屏幕时间 浏览:816
云服务器有宝塔面板吗 浏览:518
中行app如何看基点 浏览:205
怎么限制网络连接的人数安卓 浏览:178
怎么把app数据清理 浏览:835
什么APP既 浏览:228
两台阿里云服务器怎么并行 浏览:633
触控笔如何关闭app 浏览:124
linux永久关闭防火墙命令 浏览:402