проблема с массивом дубликата фильтра Android / Java - PullRequest
0 голосов
/ 31 марта 2011

У меня есть строковый массив, который может содержать некоторые повторяющиеся значения, и я пытаюсь написать фильтр для устранения любых ошибок.

Код, который я вставил ниже, работает для всех, кроме первого элемента в массиве, и я не могу понять, почему.

Спасибо за любую помощь, которую вы можете предложить.

for(int i=0; i<forparts.length; i++){
        elem = forparts[i];
        for (int n=i+1; n<forparts.length; n++){
            elem2 = forparts[n];
            if (elem2.equalsIgnoreCase(elem)){
                forparts[n] = "";
            }
        }
    }

1 Ответ

2 голосов
/ 31 марта 2011

Думая вне коробки, вы должны использовать массив? Требуемое поведение доступно в интерфейсе Set библиотеки Java Collections.

Set<MyType> set = new LinkedHashSet<MyType>();
MyType obj = new MyType();
boolean bAdded;
bAdded = set.add(obj); // bAdded == true, set.size() == 1
bAdded = set.add(obj); //bAdded == false; set.size() == 1

Таким образом, вам никогда не нужно фильтровать дубликаты из вашей коллекции, потому что они никогда не добавляются.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...