同じ文字列を繰り返さないように、印刷するものを埋めている ArrayList があります。.contains() メソッドを使用して確認しています:
if(!outputted.contains(string)){etc...}
Eclipse でデバッガーを実行したところ、まだ繰り返しが出力されていました。また、ArrayList が文字列を保持している場合でも、if ステートメントを保持していないかのように読み取ることがわかりました。なぜこれが起こっているのか、私は本当に混乱しています。ヒントや提案をいただければ幸いです。