導航:首頁 > 編程語言 > 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相關的資料

熱點內容
同性肉多電影 瀏覽:34
mac郵箱伺服器地址 瀏覽:802
真分數化簡成最簡的演算法 瀏覽:515
視易鋒雲伺服器新加硬碟 瀏覽:41
加密web的數據 瀏覽:435
一套鎧甲中間一隻眼是什麼電影 瀏覽:298
冒泡演算法c語音 瀏覽:945
運籌演算法工程師 瀏覽:591
國產電影推薦動作大片 瀏覽:618
什麼app不用網路也可以玩 瀏覽:313
程序員必備知識 瀏覽:603
程序員東西沒做完不讓走 瀏覽:605
尼克電影 瀏覽:214
程序員的職業道德 瀏覽:91
圖的遍歷演算法的原理 瀏覽:653
eclipsegpu編譯 瀏覽:378
啄木鳥出品電影 瀏覽:184
金莎朗的完整電影 瀏覽:908
安卓吃雞開槍圖標怎麼那麼大 瀏覽:86
app怎麼搜不到呢 瀏覽:883