現在、ベクターから「ノイズ」を除去しようとしていますが、エレガントな方法が見つかりません。私は現在、文字列のベクトルと、それらの文字列が連続して発生する回数を表す別のベクトルを持っています。
何らかの理由で、私はそれを機能させることができないようです。これを行うために作成したメソッドを以下に示します。
public static void correctDisturbance(Vector<String> names, Vector<Integer> lengths, int lengthGuard){
int guard = lengths.size();
int total = 0;
for(int i = 0; i < guard; i++)
{
if(lengths.elementAt(i) <= lengthGuard)
{
int newTotal = total + lengths.elementAt(i);
while(total < newTotal)
{
System.out.println("Removing: " + names.elementAt(newTotal));
names.removeElementAt(newTotal);
newTotal--;
}
lengths.removeElementAt(i);
guard--;
}
else
{
total += lengths.elementAt(i);
}
}
必要なもののいくつかは削除されますが、他のものは削除されません。しきい値を 5 に設定しています。
長さベクトルの内容の例: [15, 15, 1, 15, 2, 1, 1, 2, 1, 3, 1, 2, 1, 5, 1, 4, 1, 1, 3 ]
助けてくれてありがとう。