Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/376.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何查找包含特定值的列表_Java - Fatal编程技术网

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();