Map values in a set along with sorted data.
public class Test {
public static void main(String[] args) {
Map<Integer, List<String>> dataInMap = new HashMap<>();
dataInMap.put(100, Arrays.asList("data8","data9","data3","data4","data5"));
dataInMap.put(200, Arrays.asList("data5","data6","data7"));
dataInMap.put(300, Arrays.asList("data7","data8","data9"));
dataInMap.put(400, Arrays.asList("data1","data2"));
Set<String> uniqueDataInSet = dataInMap.values()
.stream()
.flatMap(Collection::stream)
.sorted()
.collect(Collectors.toCollection(LinkedHashSet::new));
System.out.println("uniqueDataInSet:: " + uniqueDataInSet);
//uniqueDataInSet:: [data1, data2, data3, data4, data5, data6, data7, data8, data9]
}
}
Thanks
Girdhar