fork download
  1. /* package whatever; // don't place package name! */
  2.  
  3. import java.util.*;
  4. import java.util.stream.*;
  5. import java.lang.*;
  6. import java.io.*;
  7.  
  8. /* Name of the class has to be "Main" only if the class is public. */
  9. class Ideone
  10. {
  11. public static void main (String[] args) throws java.lang.Exception
  12. {
  13. String order = "A-G / F-B / A-B / A-F / G-B / G-F";
  14. String[] stack = { "B", "F", "A", "G" };
  15.  
  16. Set<List<String>> pairs = Arrays.stream(order.split(" / "))
  17. .map(p -> p.split("-"))
  18. .map(Arrays::asList)
  19. .collect(Collectors.toSet());
  20.  
  21. Arrays.sort(stack, (a, b) ->
  22. pairs.contains(Arrays.asList(a, b)) ? -1 :
  23. pairs.contains(Arrays.asList(b, a)) ? 1 :
  24. 0
  25. );
  26.  
  27. System.out.println(Arrays.toString(stack));
  28. }
  29. }
Success #stdin #stdout 0.1s 50728KB
stdin
Standard input is empty
stdout
[A, G, F, B]