您的位置:

Java ArrayList用法详解

一、ArrayList概述

ArrayList是Java中的一个动态数组,可以根据需要自动增长。ArrayList和数组的区别在于数组长度是固定的,而ArrayList的长度是可变的。

使用ArrayList的好处在于,可以在运行时动态添加和删除元素,而无需担心数组长度的问题。

import java.util.ArrayList;

public class ArrayListExample {
    public static void main(String[] args) {
        ArrayList<String> list = new ArrayList<String>();
        list.add("Apple");
        list.add("Banana");
        list.add("Orange");
                
        System.out.println(list);
    }
}

二、ArrayList添加元素

可以使用add()方法将元素添加到ArrayList中。添加元素的位置是在末尾。

还可以使用add(index, element)方法将元素添加到指定位置。如果该位置已经有元素,则向右移动其余元素。

import java.util.ArrayList;

public class ArrayListAddExample {
    public static void main(String[] args) {
        ArrayList<String> list = new ArrayList<String>();
        list.add("Apple");
        list.add("Banana");
        list.add("Orange");
        
        //在指定位置添加元素
        list.add(1, "Grapes");
        
        System.out.println(list);
    }
}

三、ArrayList删除元素

可以使用remove()方法从ArrayList中删除元素。remove()方法可以按名称或索引删除元素。

另外,可以使用clear()方法删除ArrayList中的所有元素。

import java.util.ArrayList;

public class ArrayListRemoveExample {
    public static void main(String[] args) {
        ArrayList<String> list = new ArrayList<String>();
        list.add("Apple");
        list.add("Banana");
        list.add("Orange");
        
        //按名称删除元素
        list.remove("Banana");
        
        //按索引删除元素
        list.remove(1);
        
        //删除所有元素
        list.clear();
        
        System.out.println(list);
    }
}

四、ArrayList修改元素

可以使用set()方法修改ArrayList中的元素。set()方法接受两个参数,第一个是要修改的元素的索引,第二个是新元素的值。

import java.util.ArrayList;

public class ArrayListSetExample {
    public static void main(String[] args) {
        ArrayList<String> list = new ArrayList<String>();
        list.add("Apple");
        list.add("Banana");
        list.add("Orange");
        
        //修改元素
        list.set(1, "Grapes");
        
        System.out.println(list);
    }
}

五、ArrayList获取元素

可以使用get()方法获取ArrayList中的元素。get()方法接受一个参数,即要获取的元素的索引。

如果ArrayList是一个对象类型的列表,我们可以使用foreach循环获取所有元素。

import java.util.ArrayList;

public class ArrayListGetExample {
    public static void main(String[] args) {
        ArrayList<String> list = new ArrayList<String>();
        list.add("Apple");
        list.add("Banana");
        list.add("Orange");
        
        //获取元素
        String fruit = list.get(0);
        System.out.println(fruit);
        
        //获取所有元素
        for(String s : list) {
            System.out.println(s);
        }
    }
}

六、ArrayList遍历元素

可以使用for循环或foreach循环遍历ArrayList中的所有元素。也可以使用Java 8的新特性Stream API。

import java.util.ArrayList;
import java.util.stream.Collectors;

public class ArrayListTraversalExample {
    public static void main(String[] args) {
        ArrayList<String> list = new ArrayList<String>();
        list.add("Apple");
        list.add("Banana");
        list.add("Orange");
        
        //for循环遍历ArrayList
        for(int i=0; i<list.size(); i++) {
            System.out.println(list.get(i));
        }
        
        //foreach循环遍历ArrayList
        for(String s : list) {
            System.out.println(s);
        }
        
        //使用Stream API遍历ArrayList
        list.stream().forEach(System.out::println);
        
        //使用Stream API将ArrayList转换为String
        String stringList = list.stream().collect(Collectors.joining(", "));
        System.out.println(stringList);
    }
}