Как пройти через отсортированный список в цикле for?

Если кто-то приходит сюда из-за ошибки java.lang.NoClassDefFoundError: org/apache/log4j/Logger, в моем случае он был создан, потому что я использовал log4j 2 (но я не добавлял все файлы, которые поставляются вместе с ним), а также некоторая библиотека зависимостей log4j 1. решение заключалось в том, чтобы добавить мост Log4j 1.x: jar log4j-1.2-api-.jar, который поставляется с log4j 2. Дополнительная информация в log4j 2 migration .

-2
задан Jabongg 16 January 2019 в 18:32
поделиться

3 ответа

Если найдешь А, возвращайся рано. Если вы найдете B, сохраните его в переменной на случай, если вы не найдете As.

public Product getFirstAorB()
{
    Product firstB = null;
    for(Product product : productList) 
    {
        if ("A".equals(product.getName())) {
            return product;
        }
        else if (firstB == null && "B".equals(product.getName())) {
            firstB = product;
        }
    }
    return firstB;
}
0
ответ дан Michael 16 January 2019 в 18:32
поделиться

Проверьте оба условия в одной и той же петле:

for(Product product : productList) 
{
   if(product.getName().equals("A")) 
   {
      add = product.getName() + product.getDob();
    break;
   }
   else if(product.getName().equals("B")) 
   {
      addB = product.getName() + product.getDob();
   }
}

if(add == null)
{
add = addB
}
0
ответ дан StephaneM 16 January 2019 в 18:32
поделиться

Попробуйте использовать дополнительный массив, в котором укажите, что вы ищете. Например:

String [] cr = {"C", "A", "B"};
for(Product product : productList){
    for (String pr : cr)
        if(product.getName().equals(pr)){
            add = product.getName() + product.getDob();
       }
    }

В этом случае вам нужен только один цикл для проверки вашего списка товаров.

0
ответ дан Sergei Voychuk 16 January 2019 в 18:32
поделиться
Другие вопросы по тегам:

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