首頁 > Java > java教程 > 主體

使用java的ArrayList.subList()函數取得ArrayList指定範圍的子列表

PHPz
發布: 2023-07-24 11:17:12
原創
1715 人瀏覽過

使用java的ArrayList.subList()函數來取得ArrayList指定範圍的子列表

在Java程式設計中,ArrayList是一個非常常用的資料結構,它可以用來儲存一組數據,並且可以動態新增或刪除元素。有時候,我們需要取得ArrayList中的部分元素,可以使用subList()函數來實作。

subList()函數的定義如下:

List<E> subList(int fromIndex, int toIndex)
登入後複製

其中,fromIndex表示子清單的起始索引(包含),toIndex表示子清單的結束索引(不包含)。透過呼叫這個函數,我們可以得到從fromIndextoIndex-1的子列表。傳回的子清單是新的List實例,它仍然指向原始的ArrayList,並且對子清單的修改會反映在原來的ArrayList上。

下面是一個對ArrayList進行子列表操作的範例程式碼:

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

public class ArrayListExample {

    public static void main(String[] args) {
        // 创建一个包含整数的ArrayList
        ArrayList<Integer> numbers = new ArrayList<>();
        numbers.add(1);
        numbers.add(2);
        numbers.add(3);
        numbers.add(4);
        numbers.add(5);
        
        // 获取ArrayList的子列表
        List<Integer> subList = numbers.subList(1, 4);
        
        System.out.println("原始ArrayList中的元素:");
        for (Integer num : numbers) {
            System.out.print(num + " ");
        }
        System.out.println();
        
        System.out.println("子列表中的元素:");
        for (Integer num : subList) {
            System.out.print(num + " ");
        }
        System.out.println();
        
        // 修改子列表中的元素
        subList.set(0, 10);
        subList.set(1, 20);
        
        System.out.println("修改过后的原始ArrayList中的元素:");
        for (Integer num : numbers) {
            System.out.print(num + " ");
        }
        System.out.println();
    }
}
登入後複製

運行上述程式碼,輸出結果為:

原始ArrayList中的元素:
1 2 3 4 5 
子列表中的元素:
2 3 4 
修改过后的原始ArrayList中的元素:
1 10 20 4 5 
登入後複製

從運行結果可以看出,透過subList ()函數取得的子列表對原始ArrayList是有影響的。當我們修改子清單中的元素時,原始ArrayList中對應的元素也會被修改。

要注意的是,subList()傳回的子清單不能進行增加或刪除操作,否則會拋出UnsupportedOperationException異常。

致使ArrayList.subList()函數的使用使得對ArrayList的資料按照一定範圍進行了精確取值,方便進行後續操作。在使用時需要注意索引的範圍及其對原始ArrayList的影響,以便正確地取得、修改和處理子清單中的元素。

以上是使用java的ArrayList.subList()函數取得ArrayList指定範圍的子列表的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板