Java 如何查找包含特定值的列表
假设我们有一个列表,例如:Java 如何查找包含特定值的列表,java,Java,假设我们有一个列表,例如: [3,5],[2,9],[4,1],[8,5] 我想获得包含值5的列表。我知道使用方法contains()将返回true或false,但不会返回包含此值的列表 这个问题的答案是什么?给你 list.stream().filter(el -> el.contains(5)).findFirst() 要返回所有子列表,您可以将过滤器与收集组合使用: List<List<Integer>> listsWith5 = list.stream
[3,5],[2,9],[4,1],[8,5]
我想获得包含值5的列表。我知道使用方法contains()
将返回true或false,但不会返回包含此值的列表
这个问题的答案是什么?给你
list.stream().filter(el -> el.contains(5)).findFirst()
要返回所有子列表,您可以将
过滤器
与收集
组合使用:
List<List<Integer>> listsWith5 = list.stream()
.filter(sub -> sub.contains(5))
.collect(Collectors.toList());
List listsWith5=List.stream()
.filter(sub->sub.contains(5))
.collect(Collectors.toList());
列表列表=新的ArrayList();
add(array.asList(3,5));
add(Arrays.asList(2,9));
add(Arrays.asList(4,1));
add(Arrays.asList(8,5));
List LISTOFLISTSCONTANGVALUE=listOfLists.stream().filter(p->
p、 包含(5)).collect(Collectors.toList());
您只需使用一个循环,无需使用“奇特”流:
List targets=new ArrayList();
for(列表子列表:列表){
if(子列表包含(5)){
添加(子列表);
}
}
如果需要原始列表中包含5个列表的索引:
int[] indicesOfInnerListsWith5 = IntStream.range(0, myList.size()).
filter(i->myList.get(i).contains(5)).toArray();
写一个(或两个)循环。尝试一下。试试看。看看会发生什么。
List<Integer> targets = new ArrayList<>();
for(List<Integer> subList : lists) {
if(subList.contains(5)) {
targets.add(subList);
}
}
int[] indicesOfInnerListsWith5 = IntStream.range(0, myList.size()).
filter(i->myList.get(i).contains(5)).toArray();