嗨,我有一个ArrayList的String ArrayList。示例如下所示:

  [[765,servus, burdnare],
   [764,asinj, ferrantis],
   [764,asinj, ferrantis],
   [764,asinj, ferrantis],
   [762,asinj, ferrantis],
   [756,peciam terre, cisterne],
   [756,peciam terre, cortile],
   [756,peciam terre, domo],
   [756,asinj, ferrantis]]

是否可以为索引0的每个值在索引1处获得唯一值的列表...我期望的结果是:
765 - [servus]
764 - [asinj]
762 - [asinj]
756 - [peciam terre, asinj]

我正在尝试一系列if语句,但是不起作用

最佳答案

您可以按index-0元素分组并在Set中收集index-1元素以获得唯一

List<List<String>> listOfList = ...//

Map<String, Set<String>> collect = listOfList.stream()
        .filter(l -> l.size() >= 2)
        .collect(Collectors.groupingBy(l -> l.get(0), Collectors.mapping(l -> l.get(1), Collectors.toSet())));

08-27 10:53