Я хотел бы знать, как создать структуру для хранения трех списков в следующем формате:
[[[x], [y]], [z]]
сx, y, z - три списка строк.
Обратите внимание, что я хочу, чтобы списки x и y на 3-м уровне были ниже, а список z на 2-м уровне - вниз.
Iпопытался создать 3 отдельных массива для x, y и z, затем другой массив, содержащий x и y.Проблема возникла, когда я попытался создать самый внешний массив для хранения всех трех, потому что что-то вроде
ArrayList<ArrayList<ArrayList<String>>> outerList = new ArrayList<ArrayList<ArrayList<String>>>();
будет работать для x и y, но не будет работать для z, потому что z только на 2 уровня ниже.
Я понимаю, что я пытаюсь сделать, это больше похоже на дерево, но я не знаю, как реализовать недвоичное дерево в Java (x, y, z, имеющее более двух ветвей).
То, что я пытаюсь извлечь из этого, это способ присвоения весов, например.пользователь вводит термин, я сначала перебираю все дочерние узлы (x, y, z) и пытаюсь найти его.Если я нахожу его, я назначаю большой вес, в противном случае я пытаюсь найти его в родительских узлах (список содержит x, y) и назначаю ему умеренный вес, в противном случае я ищу в корневом узле и назначаю минимальный вес.Описанная структура - это просто связь между терминами, которые я классифицировал.
Есть идеи, как это сделать?