注:同様の質問があります。HEREしかし、私はこの質問を見直し、私の問題は解決しません。先読みしてください。削除されたリンクが含まれないように要素を更新するにはどうすればよいですか?
私はElements
から特定のリンクを削除しようとする方法を書いています。 remove()
は、 obからを削除しています。ただし、Elements
を削除して、削除されたリンクが含まれないようにするにはどうすればよいですか?
以下は私の方法です。
public void getLinks(Document site) {
Elements links = site.select("a[href]");
for(int i = 0 ; i < links.size() ; i++) {
String url = links.get(i).attr("abs:href");
if(url.endsWith("~S1")) {
System.out.println(url);
} else {
links.remove(i); // links still contains removed Element
}
}
}
Watchout! 'i <0'がループを開始する直前に' false'を返すため、 'for(int i = 0; i <0; i ++)'というループはループしません。 –
どちらも使用できません。 0を使用する場合は、i> 0を使用すると無限のloop.insteadが0になり、別のInteger値が使用されます。forループでは、開始値で条件を繰り返し確認することができないためです。 –
ポインタをありがとう:)しかし、私の問題は、まだ残っています。他のアイデア? – GiantSpruce