Lambda:筛选器列表::列表::获取[0]非静态错误:可选

Lambda:筛选器列表::列表::获取[0]非静态错误:可选,lambda,java-8,java-stream,Lambda,Java 8,Java Stream,Map使用java8lamdacollect(Collectors.groupingBy(List::get[0]) 其中List::get[0]不能应用,因为非静态方法不能从静态内容中引用 任何简单的替代方案都可以达到同样的效果 这是我的密码 import java.util.Arrays; import java.util.List; import java.util.Map; import java.util.stream.Collectors; public class LamdaTe

Map
使用java8lamda
collect(Collectors.groupingBy(List::get[0])

其中
List::get[0]
不能应用,因为
非静态方法不能从静态内容中引用

任何简单的替代方案都可以达到同样的效果

这是我的密码

import java.util.Arrays;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;

public class LamdaTest
{

    public static void main (String[] args) {
        List<List<String>> lists = populateList();
        Map<String, List<List<String>>> listMap = lists.stream()
                   .collect(Collectors.groupingBy(List::get(0)));
          System.out.println(listMap);

}

public static List<List<String>> populateList (){

    List<String>  list =Arrays.asList("10","test10");
    List<String>  list2 =Arrays.asList("10","test10");
    List<String>  list3 =Arrays.asList("11","test11");
    List<String>  list4 =Arrays.asList("11","test11");
    List<List<String>> lists = Arrays.asList(list,list2,list3,list4);

    return lists;
}
}

在这种情况下不能使用方法引用,因此需要使用lambda表达式

Map<String, List<List<String>>> listMap = populateList().stream()
  .collect(Collectors.groupingBy(l -> l.get(0)));
Map listMap=populateList().stream()
.collect(收集器.groupingBy(l->l.get(0));

在这种情况下不能使用方法引用,因此需要使用lambda表达式

Map<String, List<List<String>>> listMap = populateList().stream()
  .collect(Collectors.groupingBy(l -> l.get(0)));
Map listMap=populateList().stream()
.collect(收集器.groupingBy(l->l.get(0));

您想要的输出是什么样子的?这是干什么用的?List::get[0]如果不是静态方法,您就不能使用它?@Flown:我希望
Map
文件的分组输出保存在哪里map@Bolzano:
List::get[0]
可以充当收集组,因为get[0]非静态I无法使用I您的预期输出看起来像一个
映射
,因此,在这种情况下,您不应该
flatMap
流内容,只需执行
groupby(l->l.get(0))
。您想要的输出是什么样子的?这是为了什么?List::get[0]如果不是静态方法,您就不能使用它?@Flown:我希望
Map
文件的分组输出保存在哪里map@Bolzano:
List::get[0]
可以充当收集组,因为get[0]非静态I无法使用I您的预期输出看起来像一个
映射
,因此,在这种情况下,您不应该
flatMap
流内容,只需执行
groupby(l->l.get(0))