Задать вопрос
@anton_nikitin

Фильтр родительского массива?

Ребят, всем привет!
Есть на входе массив и есть родительский массив с вложенным массивом. Нужно сравнить массив на входе и вложенный массив, если они по заданному условия совпадают, то удалить сам объект из родительского массива. Вот код, но как то он криво работает.

public void sort(List<ProductComponentsResponse> filterData) {
          productsList = new ArrayList<>(mSortModels);
          for (ProductComponentsResponse component : filterData) {
              String componentId = component.getId();
              int componentState = component.getState();
              Iterator<ProductResponse> iterator = productsList.iterator();
              while (iterator.hasNext()) {
                  ProductResponse next = iterator.next();
                  for (ProductComponentsResponse productComponentsResponse : next.getProductComponents()) {
                      boolean containComponent = productComponentsResponse.getId().contains(componentId);
                      if (componentState == ProductComponentsResponse.FilterState.NONE) {
                          continue;
                      } 
                      if (componentState == ProductComponentsResponse.FilterState.SELECTED) {
                          if (!containComponent) {
                              Log.d("component", String.valueOf(productComponentsResponse.getId()));
                              Log.d("componentState", String.valueOf(componentState));
                              iterator.remove();
                              break;
                          }
                      } else if (componentState == ProductComponentsResponse.FilterState.UNSELECTED) {
                          if (containComponent) {
                              Log.d("_component", String.valueOf(productComponentsResponse.getId()));
                              Log.d("_componentState", String.valueOf(componentState));
                              iterator.remove();
                              break;
                          }
                      }
                  }
              }
          }
          notifyDataSetChanged();
    }
  • Вопрос задан
  • 86 просмотров
Подписаться Средний 1 комментарий
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы