私は答えをhereと見ましたが、私はそれが私の問題に答えるかどうかわかりません。だから私は数の束を含むフロート型のarraylistを持っています。私は以前の値よりも30倍以上の数字をすべて削除したいと思っています。したがって、私は'n'
と'n+1'
を比較し、'n+1'
if (n+1)>(30+n)
を取り除いています。逆もまた同様です。私は次のコードを書いたが、私の解決策は機能していない。条件に基づいてarraylistから値を選択的に削除するにはどうすればよいですか?
for(int i = 0; i<hr_list.size()-1; i++)
{
Float x= hr_list.get(i);
Float y = hr_list.get(i+1);
if(y>(x+30.0f)||y<(x+30.0f))
{
hr_list.remove(i+1);
}
}
以下のコードを見てくださいif(y>(x + 30.0f)|| y <(x-30.0f)) 'となる。リストが10 50 90ならあなたがしたいことははっきりしませんが、50だけを削除しますか、90を削除する必要がありますか? – Eran
心拍数を保存していて、HR(n + 1)が30 + HRの場合は、おそらく正しい値ではないため、HRを削除しています。あなたの例では、ベースラインが10であるので、例えば50と90が削除されます。 –
その場合、@Eranの助言に従いますが、 'if'文の中で' i - 'を実行します(' remove ) ')を使用して、次の要素を削除します。 – Andreas