一、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);
}
}