次ArrayList<String>
のようなディレクトリのパスが含まれています。
/home, /usr...
リストにその要素の親ディレクトリがすでに含まれている場合に、リストからすべてのパスを削除するコードを記述したいと思います。例:リストに次のものが含まれている場合:
/home
/home/games
次に、親の/ homeがすでにリストに含まれているため、/ home/gamesを削除する必要があります。以下はコードです:
for (int i = 0; i < checkedList.size(); i++) {
File f = new File(checkedList.get(i));
if(checkedList.contains(f.getParent()));
checkedList.remove(checkedList.get(i));
}
上記checkedList
はString arrayList
です。
リストに次のものが含まれている場合に問題が発生します。
/home
/home/games/minesweeper
親ゲームがリストにないため、マインスイーパフォルダーは削除されません。これらの種類の要素も削除する方法は?