當前位置:首頁 » 編程語言 » javaarraylistfor

javaarraylistfor

發布時間: 2023-05-29 15:30:08

java關於ArrayList的代碼的寫法

import java.util.ArrayList;

public class TestMain {
public static void main(String[] args){
String[] inStrArr = new String[]{"Nisse","Oskar","Lena","Adam","Jens","Beata","Cecilia","Stina","Pelle"};

ArrayList<String> retArr = smallStrings(inStrArr,"Lennart");

for(String retStr : retArr){
System.out.println(retStr);
}
}

public static ArrayList<String> smallStrings(String[] inStrArr,String str){
ArrayList<String> retArr = new ArrayList<String>();

for(String inStr : inStrArr){
if(str.compareTo(inStr) > 0){
retArr.add(inStr);
}
}

return retArr;
}
}

Ⅱ java中使用ArrayList如何修改裡面的內容.

java里增強for循環【for(String a: arrayList)】裡面可以修改數據,但是不能刪除數據,如下例子:
<pre t="code" l="java">修改集合:

import java.util.ArrayList;
import java.util.List;

public class TestA {

public static void main(String[] args){
//集合
List<String> arrayList=new ArrayList<String>();
//存放元素
arrayList.add("hello");
arrayList.add("ninghao");
arrayList.add("bye");
//集合標量
int index=0;
//遍歷集合
for(String a:arrayList){
//輸出集合對象
System.out.println(a);
//修改集合對象
arrayList.set(index, "hi");
//標量加一
index++;
}
//輸出集合
System.out.println(arrayList);
}
}

結果:
hello
ninghao
bye
[hi, hi, hi]

刪除集合元素:

import java.util.ArrayList;
import java.util.List;

public class TestA {

public static void main(String[] args){
//集合
List<String> arrayList=new ArrayList<String>();
//存放元素
arrayList.add("hello");
arrayList.add("ninghao");
arrayList.add("bye");
//集合標量
int index=0;
//遍歷集合
for(String a:arrayList){
//輸出集合對象
System.out.println(a);
//刪除元素
arrayList.remove(index);

//標量加一
index++;
}
//輸出集合
System.out.println(arrayList);
}
}
結果:
hello
Exception in thread "main" java.util.
at java.util.AbstractList$Itr.checkForComodification(AbstractList.java:372)
at java.util.AbstractList$Itr.next(AbstractList.java:343)
at app.TestA.main(TestA.java:19)由以上例子可以看出,增強for循環,在循環里可以修改集合元素,但是不能刪除集合元素。

Ⅲ java中Arraylist是干什麼的怎麼用

java中的ArrayList就是傳說中的動態數組,用MSDN中的說法,就是Array的復雜版本。

它提供了如下一些好處:動態的增加和減少元素實現了ICollection和IList介面靈活的設置數組的大小 。

ArrayList 的用法:

ArrayList List = new ArrayList(); for( int
i=0;i<10;i++ ) //

給數組增加10個Int元素 List.Add(i); //..

程序做一些處理
List.RemoveAt(5);//

將第6個元素移除 for( int i=0;i<3;i++ ) //

再增加3個元素
List.Add(i+20); Int32[] values =
(Int32[])List.ToArray(typeof(Int32));//

返回ArrayList包含的數組 。

(3)javaarraylistfor擴展閱讀:

Arraylist的定義:

List 介面的大小可變數組的實現,位於API文檔的java.util.ArrayList<E>。

實現了所有可選列表操作,並允許包括 null 在內的所有元素。

除了實現 List 介面外,此類還提供一些方法來操作內部用來存儲列表的數組的大小。(此類大致上等同於 Vector 類,除了此類是不同步的。)

size、isEmpty、get、set、iterator 和 listIterator 操作都以固定時間運行。

add 操作以分攤的固定時間 運行,也就是說,添加 n 個元素需要 O(n) 時間。

其他所有操作都以線性時間運行(大體上講)。

與用於 LinkedList 實現的常數因子相比,此實現的常數因子較低。

每個 ArrayList 實例都有一個容量。該容量是指用來存儲列表元素的數組的大小。

它總是至少等於列表的大小。隨著向 ArrayList 中不斷添加元素,其容量也自動增長。

並未指定增長策略的細節,因為這不只是添加元素會帶來分攤固定時間開銷那樣簡單

在添加大量元素前,應用程序可以使用
ensureCapacity 操作來增加 ArrayList
實例的容量。這可以減少遞增式再分配的數量。

注意,此實現不是同步的。如果多個線程同時訪問一個 ArrayList
實例,而其中至少一個線程從結構上修改了列表,那麼它必須 保持外部同步。

(結構上的修改是指任何添加或刪除一個或多個元素的操作,或者顯式調整底層數組的大小;僅僅設置元素的值不是結構上的修改。)

這一般通過對自然封裝該列表的對象進行同步操作來完成。

如果不存在這樣的對象,則應該使用 Collections.synchronizedList 方法將該列表「包裝」起來。這最好在創建時完成,以防止意外對列表進行不同步的訪問:

List list = Collections.synchronizedList(new ArrayList(...));

此類的 iterator 和 listIterator 方法返回的迭代器是快速失敗的。

在創建迭代器之後,除非通過迭代器自身的
remove 方法從結構上對列表進行修改,否則在任何時間以任何方式對列表進行修改,迭代器都會拋出

因此,面對並發的修改,迭代器很快就會完全失敗,而不是冒著在將來某個不確定時間發生任意不確定行為的風險。

注意,迭代器的快速失敗行為無法得到保證。

因為一般來說,不可能對是否出現不同步並發修改做出任何硬性保證。快速失敗迭代器會盡最大努力拋出

因此,為提高這類迭代器的正確性而編寫一個依賴於此異常的程序是錯誤的做法:迭代器的快速失敗行為應該僅用於檢測
bug。

Ⅳ Java 使用For循環操作ArrayList

java for循謹兆環查找list中的相同數據升簡的方法: import java.util.ArrayList;import java.util.HashSet;import java.util.List;import java.util.Set;public class FindDuplicate { public static void main(String[] args) { // 初始吵晌褲化list List li...

Ⅳ JavaArrayList集合操作

假設需要合並的實體類是一個Java類,包含了多個欄位,其中需要合並的欄位名為"fieldName",那麼可以按照以下步驟進行操作:

  • 定義一個Map,用於存儲合並後的實體類,其中Key為"fieldName"的值,Value為合並後的實體類。

Map<Object, YourEntityClass> resultMap = new HashMap<>();

  • 遍歷List集合,對於每一個實體類,根據"fieldName"的值從Map中獲取已經合並的實體類,如果不存在,則將當前實體類添加到Map中肆吵;如果存在,則將當前實體類的相應欄位累加到已經存在的實體類中此雹悶。

  • for (YourEntityClass entity : yourList) {

  • Object key = entity.getFieldName();

  • if (resultMap.containsKey(key)) {

  • YourEntityClass existingEntity = resultMap.get(key);

  • // 累加相應欄位

  • existingEntity.setSomeField(existingEntity.getSomeField() + entity.getSomeField());

  • } else {

  • resultMap.put(key, entity);

  • }

  • }

  • 最終,將合並後的實體類從Map中取出來,組成一個新森彎的List返回。

List<YourEntityClass> result = new ArrayList<>(resultMap.values());

這樣,就可以實現根據某個欄位值合並實體類並累加相應欄位的操作。

Ⅵ 請問:java 利用for往ArrayList里存入數據時,變數定義在for循環裡面和外面的時候結果不一樣,為什麼

你要知道每次new一個對象就是一個新對象,在謹兄循環里new,就是每一次循環都創建一個全新的對象。而在循環外只new了一次,你每次循環只是改變外面new的對象屬性友尺值祥告襲而已。
list集合可以存放多個相同的值

Ⅶ 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());
}
熱點內容
open函數c語言 發布:2024-04-25 21:47:42 瀏覽:405
簡訊刪除後怎麼找伺服器 發布:2024-04-25 21:15:06 瀏覽:387
查ip地址伺服器數量 發布:2024-04-25 20:49:48 瀏覽:620
安卓手機單核性能為什麼不高 發布:2024-04-25 20:48:07 瀏覽:56
群暉php 發布:2024-04-25 20:00:35 瀏覽:884
怎麼查看我的wifi密碼 發布:2024-04-25 18:54:43 瀏覽:757
fckeditorforjava 發布:2024-04-25 18:50:27 瀏覽:624
優酷上傳視頻需要多久 發布:2024-04-25 18:33:05 瀏覽:675
inf12編譯器 發布:2024-04-25 18:15:39 瀏覽:99
撲克總督3安卓哪裡下載 發布:2024-04-25 18:10:02 瀏覽:395