List
finalList.stream()
.sorted(
Comparator.comparing((Map<String, Object> i) -> i.get("product1").toString())
.thenComparing((Map<String, Object> i) -> i.get("product2").toString())
.thenComparing((Map<String, Object> i) -> i.get("product3").toString())
)
.collect(Collectors.toList());