Java List<Long> 获取满足条件元素的索引数 - 使用Stream API
要根据条件获取索引数,可以使用Java的Stream API来实现。
首先,将List
List<Long> list = new ArrayList<>();
// 添加元素到list
Stream<Long> stream = list.stream();
然后,使用filter方法根据条件过滤元素,再使用mapToInt方法将元素转换为索引数:
int[] indexes = stream
.filter(condition) // 根据条件过滤元素
.mapToInt(list::indexOf) // 将元素转换为索引数
.toArray(); // 将结果转换为数组
这样,我们就可以得到满足条件的元素的索引数数组indexes。
完整的示例代码如下:
import java.util.ArrayList;
import java.util.List;
import java.util.stream.Stream;
public class Main {
public static void main(String[] args) {
List<Long> list = new ArrayList<>();
list.add(1L);
list.add(2L);
list.add(3L);
list.add(4L);
list.add(5L);
Stream<Long> stream = list.stream();
int[] indexes = stream
.filter(n -> n > 2) // 根据条件过滤元素
.mapToInt(list::indexOf) // 将元素转换为索引数
.toArray(); // 将结果转换为数组
for (int index : indexes) {
System.out.println(index);
}
}
}
输出结果为:
2
3
4
原文地址: https://www.cveoy.top/t/topic/p8nB 著作权归作者所有。请勿转载和采集!