Excluir intervalos superpuestos
Tengo dos listas de intervalos. Me gustaría eliminar todos los tiempos de la lista1 que ya existen en la lista2. Ejemplo: List1:
[(0,10), (15,20)]
Lista2:
[(2,3), (5,6)]
Salida:
[(0,2), (3,5), (6,10), (15,20)]
¿Alguna pista?
Intenté eliminar un intervalo en el momento pero parece que necesito un enfoque diferente:
public List<Interval> removeOneTime(Interval interval, Interval remove){
List<Interval> removed = new LinkedList<Interval>();
Interval overlap = interval.getOverlap(remove);
if(overlap.getLength() > 0){
List<Interval> rms = interval.remove(overlap);
removed.addAll(rms);
}
return removed;
}