В настоящее время я пытаюсь удалить «шум» из вектора и не могу найти элегантный способ сделать это.В настоящее время у меня есть вектор строк, и еще один вектор, представляющий число раз подряд эти строки.
По некоторым причинам я просто не могу заставить его работать.Метод, который я создал для этого, показан ниже.
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]
Заранее благодарен за любую помощь.