Free
You can't directly modify a List while you're iterating though it. The iterator gets confused.
Do
Do
List<Node> nodesToRemove = new ArrayList<>();
for(Node node : g.getChildren()){
if(node instanceof Text){
nodesToRemove.add(node);
}
}
g.getChildren().removeAll(nodesToRemove);
or (I think):for (Iterator<Node> iterator = g.getChildren().iterator(); iterator.hasNext();) {
if (iterator.next() instanceof Text) {
iterator.remove();
}
}
or, in Java8,g.getChildren().removeAll( g.getChildren().stream()
.filter(node -> node instanceof Text)
.collect(Collectors.toList()));
No comments:
Post a Comment