```
Stream<Map.Entry<String, Long>> duplicates = notificationServiceOrderItemDto.getService()
    .getServiceCharacteristics()
    .stream()
    .collect(
        Collectors.groupingBy(
            ServiceCharacteristicDto::getName, Collectors.counting()
        )
     )
     .entrySet()
     .stream()
     .filter(e -> e.getValue() > 1);

Optional<String> dupName = duplicates.map(Map.Entry::getKey).findFirst();

```

works perfect. But I wold like to find duplicates not just with name but also name + value + key

> 
> That means if name + value + key is the same this is duplicate.
> 
> 
> 

I am looking Collectors.groupingBy() 

<http://www.technicalkeeda.com/java-8-tutorials/java-8-stream-grouping>

but I can not find correct solution