Я обнаружил реализацию с открытым исходным кодом с удалением, но для того, чтобы сделать ее полностью функциональной, нужно приложить некоторые усилия.
Это модуль более крупного проекта с открытым исходным кодом Gephi , но вот sources и javadoc . Если вы хотите банку, вы можете установить Gephi, и он находится в:
/gephi/modules/org-gephi-data-attributes-api.jar
Метод delete позволяет удалить все интервалы, перекрывающиеся с входным интервалом (а не только с входным). Однако я обнаружил, что существуют частные методы, которые удаляют определенный узел (который хранит один интервал). Также частные методы поиска возвращают узлы.
Так что я думаю, что с небольшими усилиями можно реорганизовать код и получить такую функцию - «удалить определенный интервал». Самый быстрый и самый грязный способ - сделать общедоступные классы private / Node. Но поскольку это проект с открытым исходным кодом, возможно, в будущем он может превратиться в хорошую стандартную реализацию дерева интервалов.