fork download
  1. import java.util.*;
  2. import java.io.*;
  3. import java.util.stream.*;
  4.  
  5. class Ideone
  6. {
  7. public static void main(String[] args) {
  8. Map<String, String> unsortMap = new HashMap<String, String>();
  9. unsortMap.put("./cq:dialog/content/items/tabs/items/tab1/items/columns/items", "40");
  10. unsortMap.put("./cq:dialog/content", "80");
  11. unsortMap.put("./cq:dialog", "75");
  12. unsortMap.put("./cq:dialog/content/items/tabs/items/tab2/items/columns/items", "40");
  13. unsortMap.put("./cq:dialog/content/sling:resourcetype", "granite/ui/components/coral/foundation/container");
  14. Map<String, String> sortedMap = unsortMap.entrySet().stream()
  15. .sorted((a, b) -> a.getKey().length() - b.getKey().length()).collect(Collectors.toMap(Map.Entry::getKey,
  16. Map.Entry::getValue, (oldValue, newValue) -> oldValue, LinkedHashMap::new));
  17. final Set<String> keys = sortedMap.keySet();
  18. keys.forEach(System.out::println);
  19. }
  20. }
Success #stdin #stdout 0.08s 34220KB
stdin
Standard input is empty
stdout
./cq:dialog
./cq:dialog/content
./cq:dialog/content/sling:resourcetype
./cq:dialog/content/items/tabs/items/tab1/items/columns/items
./cq:dialog/content/items/tabs/items/tab2/items/columns/items