Как избежать исключения одновременной модификации при сортировке по категории? - PullRequest
0 голосов
/ 19 октября 2018

Я пытаюсь отсортировать товары по категориям.Я думал о том, чтобы использовать категорию первого элемента в списке элементов, выполнить итерацию вниз по списку и переместить все элементы той же категории в новый список, добавив имя категории после завершения всех элементов.Затем снова запустите цикл в исходном списке (с удаленными элементами), повторяйте, пока в исходном списке ничего не будет (т.е. все было перемещено в отсортированный список по категориям).

Мой код был настроенкак это:

List<Food> foodList; //some arraylist of foods, we want to sort by category (fruit, veg, meat).
List<Food> sortedList; //arraylist sorted by category.

while ( !foodList.isEmpty ) {
    String category = foodList.get(0).getCategory;
    for ( Food f : foodList ) {
        if ( f.category.equals(category) ) {
            sortedList.add(f);
            foodList.remove(f);
        }
     }

    sortedList.add(category) //like a category heading.
}
//flip sortedList to have categories on top...

Есть ли другой / лучший способ сделать это?Мой нынешний метод работы кажется действительно дерьмовым.Это в основном вычисление каждой категории в списке, сравнение каждого элемента в списке по каждой категории, итерация по категориям и просто добавление в отсортированный список.Должен быть более эффективный способ сделать это, что должно помочь моему вышеупомянутому решению, если я смогу заставить его работать.Любая помощь будет оценена.

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