同じクラスのオブジェクトのリストがあります。リストの順序は重要ではありません。私がやりたいことは、(ビット演算を使用して)インクリメンタル値でフィールドを設定する必要があるかどうかを判断することです。しかし、トリックは、最初の要素に対してのみ、この操作が false (フィールドを設定してはならない) を返す必要があることです。
for (Obj obj:list){
if (obj.isZero() (op) some_flag){
//set field
}
}
ここに私が確信していることがいくつかあります。
リストの最初の要素で呼び出されると、isZero() は true を返します。
残りの要素を呼び出すと、不確実です。しかし、2 番目の要素で呼び出された場合、isZero() は true を返し、すべてのリスト ([3..last]) に対して true を返します。
これを行う方法はありますか?カウンターを保持してインクリメントする気はありませんが、そうするのが最善の方法である場合は、それを行うのは悪いことです。