📅  最后修改于: 2023-12-03 14:52:46.076000             🧑  作者: Mango
在Java中,我们经常需要操作列表(List)的元素。下面介绍几种获取列表元素的方式。
我们可以使用List的get()方法获取指定下标的元素。
List<String> list = new ArrayList<>();
list.add("apple");
list.add("banana");
list.add("orange");
// 获取第一个元素
String firstElement = list.get(0);
// 获取最后一个元素
String lastElement = list.get(list.size() - 1);
需要注意的是,如果指定的下标超出了列表的范围,将会抛出IndexOutOfBoundsException异常。
我们可以使用for循环或者foreach语法遍历列表元素。
List<String> list = new ArrayList<>();
list.add("apple");
list.add("banana");
list.add("orange");
// 使用for循环遍历元素
for (int i = 0; i < list.size(); i++) {
String element = list.get(i);
System.out.println(element);
}
// 使用foreach语法遍历元素
for (String element : list) {
System.out.println(element);
}
需要注意的是,在遍历列表元素时,我们不能使用列表的add()或remove()方法,否则会抛出ConcurrentModificationException异常。
我们可以使用迭代器(Iterator)获取列表元素。迭代器提供了next()方法,可以依次返回列表的每个元素。
List<String> list = new ArrayList<>();
list.add("apple");
list.add("banana");
list.add("orange");
Iterator<String> iterator = list.iterator();
while (iterator.hasNext()) {
String element = iterator.next();
System.out.println(element);
}
需要注意的是,在使用迭代器获取元素时,我们不能使用列表的add()或remove()方法,否则会抛出ConcurrentModificationException异常。如果需要对列表进行修改,应该使用迭代器的remove()方法。
Java 8引入了流(Stream)的概念,我们可以使用流的方式获取列表元素。流提供了map,filter等操作,可以方便的对列表进行操作。
List<String> list = new ArrayList<>();
list.add("apple");
list.add("banana");
list.add("orange");
list.stream().forEach(element -> System.out.println(element));
需要注意的是,在使用流获取元素时,我们不能修改列表中的元素。如果需要对列表进行修改,应该使用List的replaceAll()或sort()等方法。