Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import com.google.gson.Gson;
- import java.util.Comparator;
- import java.util.List;
- public class PerformanceTester {
- static String givenJson = "[\n" +
- "{\n" +
- "\"Title\": \"Introduction\",\n" +
- "\"Order\": 1,\n" +
- "\"DisplayNumber\": \"\",\n" +
- "\"SubCategories\": []\n" +
- "},\n" +
- "{\n" +
- "\"Title\": \"Chapter 1\",\n" +
- "\"Order\": 2,\n" +
- "\"DisplayNumber\": \"1.\",\n" +
- "\"SubCategories\": [\n" +
- "{\n" +
- "\"Title\": \"Chapter 1.1\",\n" +
- "\"Order\": 1,\n" +
- "\"DisplayNumber\": \"1.1.\",\n" +
- "\"SubCategories\": [\n" +
- "{\n" +
- "\"Title\": \"Chapter 1.1.1\",\n" +
- "\"Order\": 1,\n" +
- "\"DisplayNumber\": \"1.1.1.\",\n" +
- "\"SubCategories\": []\n" +
- "}\n" +
- "]\n" +
- "},\n" +
- "{\n" +
- "\"Title\": \"Chapter 1.2\",\n" +
- "\"Order\": 2,\n" +
- "\"DisplayNumber\": \"1.2.\",\n" +
- "\"SubCategories\": []\n" +
- "}\n" +
- "]\n" +
- "},\n" +
- "{\n" +
- "\"Title\": \"Chapter 2\",\n" +
- "\"Order\": 3,\n" +
- "\"DisplayNumber\": \"2.\",\n" +
- "\"SubCategories\": []\n" +
- "}\n" +
- "]";
- static String forWork = "{\n" +
- "\"Title\":\"root\",\n" +
- "\"Order\":1\n," +
- "\"DisplayNumber\": \"\"\n," +
- "\"SubCategories\":" + givenJson + "\n" +
- "}";
- public static void main(String[] args) throws QueueFullException {
- Node root = new Gson().fromJson(forWork, Node.class);
- dfs(root, 0);
- }
- static void dfs(Node u, int d) {
- if (!u.Title.equals("root")) {
- if (u.DisplayNumber != null && u.DisplayNumber.length() > 0) {
- System.out.print(u.DisplayNumber + " ");
- }
- System.out.println(u.Title);
- }
- u.SubCategories.sort(Comparator.comparingInt(o -> o.Order));
- for (Node v : u.SubCategories) {
- dfs(v, d + 1);
- }
- }
- }
- class Node {
- String Title;
- int Order;
- String DisplayNumber;
- List<Node> SubCategories;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement