Java 菜鳥(niǎo)教程

Java 流程控制

Java 數(shù)組

Java 面向?qū)ο?I)

Java 面向?qū)ο?II)

Java 面向?qū)ο?III)

Java 異常處理

Java 列表(List)

Java Queue(隊(duì)列)

Java Map集合

Java Set集合

Java 輸入輸出(I/O)

Java Reader/Writer

Java 其他主題

Java ArrayList

在本教程中,我們將學(xué)習(xí)Java ArrayList類。我們將借助示例學(xué)習(xí)ArrayList不同的操作和方法。

ArrayList類是List接口的實(shí)現(xiàn),允許我們創(chuàng)建可調(diào)整大小的數(shù)組。

Java ArrayList類實(shí)現(xiàn)List接口。

Java 數(shù)組 與 ArrayList

在Java中,我們需要先聲明數(shù)組的大小,然后才能使用它。一旦聲明了數(shù)組的大小,就很難更改它。

要解決此問(wèn)題,我們可以使用ArrayList類。  java.util包中存在的ArrayList類允許我們創(chuàng)建可調(diào)整大小的數(shù)組。

與數(shù)組不同,當(dāng)我們向數(shù)組列表添加或刪除元素時(shí),數(shù)組列表(ArrayList類的對(duì)象)可以自動(dòng)調(diào)整其容量。 因此,數(shù)組列表也稱為動(dòng)態(tài)數(shù)組。

創(chuàng)建ArrayList

這是我們可以在Java中創(chuàng)建數(shù)組列表的方法:

ArrayList<Type> arrayList= new ArrayList<>();

此處,Type指示數(shù)組列表的類型。例如,

//創(chuàng)建整數(shù)類型arraylist
ArrayList<Integer> arrayList = new ArrayList<>();

//創(chuàng)建字符串類型arraylist
ArrayList<String> arrayList = new ArrayList<>();

在上面的程序中,我們使用了Integer和String。 在這里,Integer是int類型的相應(yīng)包裝類。

包裝類是包裝原始數(shù)據(jù)類型的類。例如,Integer類包裝了int類型,F(xiàn)loat類包裝了Float類型,等等。

注意:我們不能創(chuàng)建原始數(shù)據(jù)類型(如int,float,char等)的數(shù)組列表。相反,我們必須使用它們對(duì)應(yīng)的包裝器類。

對(duì)于字符串,String是一個(gè)類,沒(méi)有包裝類。因此,我們按原樣使用String。

我們還可以使用List接口創(chuàng)建ArrayList。這是因?yàn)锳rrayList類實(shí)現(xiàn)了List接口。

List<String> list = new ArrayList<>();

ArrayList的方法

ArrayList 提供了允許我們執(zhí)行數(shù)組列表操作的各種方法。

將元素添加到ArrayList

1.使用 add() 方法

要將單個(gè)元素添加到數(shù)組列表,我們使用add()方法。例如,

import java.util.ArrayList;

class Main {
    public static void main(String[] args){
        ArrayList<String> animals = new ArrayList<>();

        //添加元素
        animals.add("Dog");
        animals.add("Cat");
        animals.add("Horse");
        System.out.println("ArrayList: " + animals);
    }
}

輸出結(jié)果

ArrayList: [Dog, Cat, Horse]

2.使用索引號(hào)

我們還可以使用索引將元素添加到數(shù)組列表中。例如,

import java.util.ArrayList;

class Main {
    public static void main(String[] args){
        ArrayList<String> animals = new ArrayList<>();

        //添加元素
        animals.add(0,"Dog");
        animals.add(1,"Cat");
        animals.add(2,"Horse");
        System.out.println("ArrayList: " + animals);
    }
}

輸出結(jié)果

ArrayList: [Dog, Cat, Horse]

3.將一個(gè)數(shù)組列表的元素添加到另一個(gè)數(shù)組列表

要將數(shù)組列表的所有元素添加到新的數(shù)組列表,請(qǐng)使用addAll()方法。例如,

import java.util.ArrayList;

class Main {
    public static void main(String[] args){
        ArrayList<String> mammals = new ArrayList<>();
        mammals.add("Dog");
        mammals.add("Cat");
        mammals.add("Horse");
        System.out.println("Mammals: " + mammals);

        ArrayList<String> animals = new ArrayList<>();
        animals.add("Crocodile");

        // 添加mammals所有元素到animals
        animals.addAll(mammals);
        System.out.println("Animals: " + animals);
    }
}

輸出結(jié)果

Mammals: [Dog, Cat, Horse]
Animals: [Crocodile, Dog, Cat, Horse]

使用asList()初始化ArrayList

與數(shù)組不同,我們不能直接初始化數(shù)組列表。 但是,我們可以使用Arrays類的asList()方法來(lái)達(dá)到相同的效果。

為了使用asList()方法,我們必須先導(dǎo)入 java.util.Arrays 包。

例如,

import java.util.ArrayList;
import java.util.Arrays;

class Main {
    public static void main(String[] args) {
        //創(chuàng)建數(shù)組列表
        ArrayList<String> animals = new ArrayList<>(Arrays.asList("Cat", "Cow", "Dog"));
        System.out.println("ArrayList: " + animals);

        //訪問(wèn)數(shù)組列表中的元素
        String element = animals.get(1);
        System.out.println("訪問(wèn)元素: " + element);
    }
}

輸出結(jié)果

ArrayList: [Cat, Cow, Dog]
訪問(wèn)元素: Cow

在上面的示例中,請(qǐng)注意以下表達(dá)式:

new ArrayList<>(Arrays.asList(("Cat", "Cow", "Dog"));

在這里,我們首先在3個(gè)元素的數(shù)組:"Cat","Cow",和"Dog"。然后,該asList()方法用于將數(shù)組轉(zhuǎn)換為數(shù)組列表。

訪問(wèn)ArrayList的元素

1.使用get()方法

要隨機(jī)訪問(wèn)數(shù)組列表的元素,我們使用get()方法。例如,

import java.util.ArrayList;

class Main {
    public static void main(String[] args) {
        ArrayList<String> animals= new ArrayList<>();

        //在數(shù)組列表中添加元素
        animals.add("Dog");
        animals.add("Horse");
        animals.add("Cat");
        System.out.println("ArrayList: " + animals);

        //從數(shù)組列表中獲取元素
        String str = animals.get(0);
        System.out.print("索引0處的元素: " + str);
    }
}

輸出結(jié)果

ArrayList: [Dog, Horse, Cat]
索引0處的元素: Dog

2.使用 iterator() 方法

要按順序訪問(wèn)數(shù)組列表的元素,我們使用iterator()方法。我們必須導(dǎo)入 java.util.Iterator 包才能使用此方法。例如,

import java.util.ArrayList;
import java.util.Iterator;

class Main {
    public static void main(String[] args){
        ArrayList<String> animals = new ArrayList<>();

        //在數(shù)組列表中添加元素
        animals.add("Dog");
        animals.add("Cat");
        animals.add("Horse");
        animals.add("Zebra");

        //創(chuàng)建一個(gè)Iterator對(duì)象
        Iterator<String> iterate = animals.iterator();
        System.out.print("ArrayList: ");

        //使用Iterator的方法訪問(wèn)元素
        while(iterate.hasNext()){
            System.out.print(iterate.next());
            System.out.print(", ");
        }
    }
}

輸出結(jié)果

ArrayList: Dog, Cat, Horse, Zebra,

注意事項(xiàng)

  • hasNext() - 如果數(shù)組列表中有下一個(gè)元素,則返回true。

  • next()  -  返回?cái)?shù)組列表中的下一個(gè)元素

更改ArrayList元素

要更改數(shù)組列表的元素,我們可以使用set()方法。例如,

import java.util.ArrayList;

class Main {
    public static void main(String[] args) {
        ArrayList<String> animals= new ArrayList<>();
        //在數(shù)組列表中添加元素
        animals.add("Dog");
        animals.add("Cat");
        animals.add("Horse");
        System.out.println("ArrayList: " + animals);

        //更改數(shù)組列表的元素
        animals.set(2, "Zebra");
        System.out.println("修改后的ArrayList: " + animals);
    }
}

輸出結(jié)果

ArrayList: [Dog, Cat, Horse]
修改后的ArrayList: [Dog, Cat, Zebra]

刪除ArrayList元素

1.使用 remove() 方法

要從數(shù)組列表中刪除元素,我們可以使用remove()方法。例如,

import java.util.ArrayList;

class Main {
    public static void main(String[] args) {
        ArrayList<String> animals = new ArrayList<>();

        //在數(shù)組列表中添加元素
        animals.add("Dog");
        animals.add("Cat");
        animals.add("Horse");
        System.out.println("初始ArrayList: " + animals);

        //從索引2中刪除元素
        String str = animals.remove(2);
        System.out.println("最終ArrayList: " + animals);
        System. out.println("刪除元素: " + str);
    }
}

輸出結(jié)果

初始ArrayList: [Dog, Cat, Horse]
最終ArrayList: [Dog, Cat]
刪除元素: Horse

2.使用 removeAll() 方法

要從數(shù)組列表中刪除所有元素,我們使用removeAll()方法。例如,

import java.util.ArrayList;

class Main {
    public static void main(String[] args) {
        ArrayList<String> animals = new ArrayList<>();

        // 在ArrayList中添加元素
        animals.add("Dog");
        animals.add("Cat");
        animals.add("Horse");
        System.out.println("初始ArrayList: " + animals);

        // 刪除所有元素
        animals.removeAll(animals);
        System.out.println("最終ArrayList: " + animals);
    }
}

輸出結(jié)果

初始ArrayList: [Dog, Cat, Horse]
最終ArrayList: []

3.使用 clear() 方法

我們還可以使用clear()方法從數(shù)組列表中刪除所有元素。例如,

import java.util.ArrayList;

class Main {
    public static void main(String[] args) {
        ArrayList<String> animals= new ArrayList<>();

        //在數(shù)組列表中添加元素
        animals.add("Dog");
        animals.add("Cat");
        animals.add("Horse");
        System.out.println("Initial ArrayList: " + animals);

        //刪除所有元素
        animals.clear();
        System.out.println("Final ArrayList: " + animals);
    }
}

輸出結(jié)果

初始ArrayList: [Dog, Cat, Horse]
最終ArrayList: []

注意:clear()方法比removeAll()方法更高效。

遍歷 ArrayList

1.使用 for 循環(huán)

import java.util.ArrayList;

class Main {
    public static void main(String[] args) {
        //創(chuàng)建數(shù)組列表
        ArrayList<String> animals = new ArrayList<>();
        animals.add("Cow");
        animals.add("Cat");
        animals.add("Dog");
        System.out.println("ArrayList: " + animals);

        //使用for循環(huán)
        System.out.println("訪問(wèn)所有元素: ");

        for(int i = 0; i < animals.size(); i++) {
            System.out.print(animals.get(i));
            System.out.print(", ");
        }
    }
}

輸出結(jié)果

ArrayList: [Cow, Cat, Dog]
訪問(wèn)所有元素:
Cow, Cat, Dog,

2.使用 forEach 循環(huán)

import java.util.ArrayList;

class Main {
    public static void main(String[] args) {
        // 創(chuàng)建數(shù)組列表
        ArrayList<String> animals = new ArrayList<>();
        animals.add("Cow");
        animals.add("Cat");
        animals.add("Dog");
        System.out.println("ArrayList: " + animals);

        //使用forEach循環(huán)
        System.out.println("訪問(wèn)所有元素:  ");
        for(String animal : animals) {
            System.out.print(animal);
            System.out.print(", ");
        }
    }
}

輸出結(jié)果

ArrayList: [Cow, Cat, Dog]
訪問(wèn)所有元素:
Cow, Cat, Dog,

在兩個(gè)示例中,我們都使用循環(huán)訪問(wèn)了數(shù)組列表的各個(gè)元素。

獲取ArrayList的長(zhǎng)度

要獲取數(shù)組列表的長(zhǎng)度,我們使用size()方法。例如,

import java.util.ArrayList;

class Main {
    public static void main(String[] args) {
        ArrayList<String> animals= new ArrayList<>();

        // 在arrayList中添加元素
        animals.add("Dog");
        animals.add("Horse");
        animals.add("Cat");
        System.out.println("ArrayList: " + animals);

        //獲取arrayList的大小
        System.out.println("arrayList的大小: " + animals.size());
    }
}

輸出結(jié)果

ArrayList: [Dog, Horse, Cat]
arrayList的大小: 3

對(duì)ArrayList的元素進(jìn)行排序

要對(duì)數(shù)組列表的元素進(jìn)行排序,我們使用Collections類的sort()方法。為了使用它,我們必須先導(dǎo)入java.util.Collections包。

默認(rèn)情況下,排序以字母或數(shù)字升序進(jìn)行。例如,

import java.util.ArrayList;
import java.util.Collections;

class Main {
    public static void main(String[] args){
        ArrayList<String> animals= new ArrayList<>();

        //在數(shù)組列表中添加元素
        animals.add("Horse");
        animals.add("Zebra");
        animals.add("Dog");
        animals.add("Cat");

        System.out.println("未排序的ArrayList: " + animals);

        //對(duì)數(shù)組列表進(jìn)行排序
        Collections.sort(animals);
        System.out.println("排序后的ArrayList: " + animals);
    }
}

輸出結(jié)果

未排序的ArrayList: [Horse, Zebra, Dog, Cat]
排序后的ArrayList: [Cat, Dog, Horse, Zebra]

要了解有關(guān)對(duì)數(shù)組列表進(jìn)行排序的更多信息,請(qǐng)?jiān)L問(wèn)Java ArrayList sort。

Java ArrayList 轉(zhuǎn)換為 數(shù)組

在Java中,我們可以使用toArray()方法將數(shù)組列表轉(zhuǎn)換為數(shù)組。例如,

import java.util.ArrayList;

class Main {
    public static void main(String[] args) {
        ArrayList<String> animals= new ArrayList<>();

        //在數(shù)組列表中添加元素
        animals.add("Dog");
        animals.add("Cat");
        animals.add("Horse");
        System.out.println("ArrayList: " + animals);

        //創(chuàng)建一個(gè)新的String類型數(shù)組
        String[] arr = new String[animals.size()];

        //將ArrayList轉(zhuǎn)換成數(shù)組
        animals.toArray(arr);
        System.out.print("Array: ");
        for(String item:arr) {
            System.out.print(item+", ");
        }
    }
}

輸出結(jié)果

ArrayList: [Dog, Cat, Horse]
Array: Dog, Cat, Horse,

Java Array 轉(zhuǎn)換為 ArrayList

我們還可以將數(shù)組轉(zhuǎn)換為數(shù)組列表。為此,我們可以使用Arrays類的asList()方法。

要使用asList(),我們必須先導(dǎo)入java.util.Arrays包。例如,

import java.util.ArrayList;
import java.util.Arrays;

class Main {
    public static void main(String[] args) {
        //創(chuàng)建一個(gè)字符串類型的數(shù)組
        String[] arr = {"Dog", "Cat", "Horse"};
        System.out.print("Array: ");

        //打印數(shù)組
        for(String str: arr) {
            System.out.print(str);
            System.out.print(" ");
        }

        //從數(shù)組創(chuàng)建ArrayList
        ArrayList<String> animals = new ArrayList<>(Arrays.asList(arr));
        System.out.println("\nArrayList: " + animals);
    }
}

輸出結(jié)果

Array: Dog, Cat, Horse
ArrayList: [Dog, Cat, Horse]

在上面的程序中,我們首先創(chuàng)建了String類型的數(shù)組arr。

然后,我們使用asList()方法將數(shù)組轉(zhuǎn)換為數(shù)組列表。

Java ArrayList 轉(zhuǎn)換為 字符串

要將數(shù)組列表轉(zhuǎn)換為字符串,可以使用toString()方法。例如

import java.util.ArrayList;

class Main {
    public static void main(String[] args) {
        ArrayList<String> animals = new ArrayList<>();

        //在ArrayList中添加元素
        animals.add("Dog");
        animals.add("Cat");
        animals.add("Horse");
        System.out.println("ArrayList: " + animals);

        //將ArrayList轉(zhuǎn)換為字符串
        String str = animals.toString();
        System.out.println("String: " + str);
    }
}

輸出結(jié)果

ArrayList: [Dog, Cat, Horse]
String: [Dog, Cat, Horse]

注意: toString()將整個(gè)數(shù)組列表轉(zhuǎn)換為單個(gè)String。

其他 ArrayList 方法

方法內(nèi)容描述
clone()

創(chuàng)建具有相同元素、大小和容量的新數(shù)組列表。

contains()

在數(shù)組列表中搜索指定的元素并返回一個(gè)布爾值。

ensureCapacity()

指定數(shù)組列表可以包含的總元素。

isEmpty()

檢查數(shù)組列表是否為空。

indexOf()

在數(shù)組列表中搜索指定的元素,并返回該元素的索引。

trimToSize()

將數(shù)組列表的容量減少到當(dāng)前大小。

丰满人妻一级特黄a大片,午夜无码免费福利一级,欧美亚洲精品在线,国产婷婷成人久久Av免费高清