Оригинальный ответ
Основная проблема с графами (и, более конкретно, с деревьями, как вы знаете, особый случай, когда существует только один корень, не может быть петель и всех узловсвязаны), что каждый элемент в этой предполагаемой коллекции должен храниться в другой структуре: узел.Трудно сделать стандартную такую обработку, так как для этого требуется двойной слой "контейнеров".
Если кто-нибудь когда-нибудь будет работать с TreeModel
для JTree
, то заметит, чтопочти невозможно избежать того факта, что TreeNode
s позади (внутри?), и вы должны манипулировать как узлами, так и деревьями.
В любом случае, я согласен, что структура будет полезной, но это очень сложно сделать его стандартным , просто обратите внимание, что, например, ни Apache Commons Collections , ни Google Guava , два больших расширения коллекции для API, также не имеют их.
Обновление
Согласно обзору API :
Основной целью разработки было создание API, который был быдостаточно маленький, как по размеру, и, что более важно, по «концептуальному весу».Крайне важно, чтобы новые функциональные возможности не казались чуждыми нынешним программистам на Java;это должно было увеличить текущие средства, а не заменить их.В то же время новый API должен был быть достаточно мощным, чтобы обеспечить все преимущества, описанные выше.
Таким образом, в то время как графики являются правильными коллекциями , и было бы возможночтобы сделать его стандартным, размер и сложность реализации были бы слишком большими, чтобы соответствовать этой цели проектирования, из-за ранее объясненной потребности в двойном слое контейнеров.
Кроме того, в Google Guava добавлена поддержкадля графиков .Apache имел «песочницу» (в процессе разработки) для графиков , но, похоже, не работает с 2011 года.