ArrayList如何获取最后两个元素
时间: 2023-08-18 15:08:31 浏览: 47
可以使用以下代码获取 ArrayList 中最后两个元素:
```java
int size = list.size();
if (size >= 2) {
Object secondLast = list.get(size-2);
Object last = list.get(size-1);
// do something with the last two elements
}
```
这里用 `size()` 方法获取 ArrayList 的大小,然后通过 `get()` 方法获取倒数第二个和最后一个元素。需要注意的是,为了避免 `IndexOutOfBoundsException` 异常,在访问元素前需要检查 ArrayList 的大小是否大于等于2。
相关问题
用Stream筛选两个ArrayList中的元素得到新ArrayList
假设我们有两个ArrayList,分别是list1和list2,每个ArrayList中都有一些元素。我们想要使用Stream筛选出同时在这两个ArrayList中存在的元素,并将它们添加到一个新的ArrayList中。 可以按照以下步骤进行操作:
1. 将list1和list2合并成一个ArrayList,可以使用addAll方法:
```
List<Integer> allList = new ArrayList<>();
allList.addAll(list1);
allList.addAll(list2);
```
2. 使用Stream的filter方法,筛选出在两个ArrayList中都存在的元素:
```
List<Integer> result = allList.stream()
.filter(i -> list1.contains(i) && list2.contains(i))
.collect(Collectors.toList());
```
3. 最后,我们将得到一个新的ArrayList,其中包含在两个原始ArrayList中都存在的元素。
Java中集合如何获取指定两个元素
在Java中,集合可以使用迭代器来遍历集合中的元素,然后可以通过比较元素的值来找到指定的两个元素。
以下是一个示例代码,演示如何在一个ArrayList中找到指定的两个元素:
```java
import java.util.ArrayList;
import java.util.Iterator;
public class FindTwoElements {
public static void main(String[] args) {
ArrayList<Integer> list = new ArrayList<Integer>();
list.add(10);
list.add(20);
list.add(30);
list.add(40);
list.add(50);
int element1 = 20;
int element2 = 40;
Iterator<Integer> iterator = list.iterator();
int found1 = -1;
int found2 = -1;
while(iterator.hasNext()) {
int element = iterator.next();
if(element == element1) {
found1 = element;
}
if(element == element2) {
found2 = element;
}
}
if(found1 != -1 && found2 != -1) {
System.out.println("Found elements: " + found1 + " and " + found2);
} else {
System.out.println("Elements not found");
}
}
}
```
在上面的示例中,我们首先定义了一个ArrayList,然后使用迭代器遍历集合中的元素。在迭代器中,我们比较每个元素与指定的元素,并将其存储在变量found1和found2中。最后,我们检查是否同时找到了两个元素,并输出结果。