Как проверить значения в hashmap

Я хотел сделать метод, чтобы проверить, могу ли я видеть, есть ли в каждой из моих стопок по 6 карт. Это мой метод

public boolean checkIfPileHasSixCards() {

        map.put("tpile1", tpile1);
        map.put("tpile2", tpile2);
        map.put("tpile3", tpile2);
        for (ArrayList<Card> value : map.values()) {
              int size=value.size();
              if(size==6) {
                  return true;
              }
        }
        return false;

    }

Правильна ли моя логика, есть ли более эффективный способ перебора значений и проверки, равен ли размер каждого значения (ArrayList) 6?

4 голоса | спросил Clyde 29 thEurope/Moscowp30Europe/Moscow09bEurope/MoscowSat, 29 Sep 2018 18:57:59 +0300 2018, 18:57:59

1 ответ


0
Возврат ---- +: = 0 =: + ---- внутри цикла неверен - таким образом, ваш метод вернет ---- +: = 1 =: + ----, если какой-либо список вКарта имеет шесть элементов, если не все из них.Вместо этого вы должны вернуть ---- +: = 2 =: + ----, если в списке нет шести элементов, и только вернуть ---- +: = 3 =: + ---- после вассделали итерацию значений:Заметьте, кстати, что использование потока Java 8 может сделать этот фрагмент намного чище.Он не будет более эффективным (это все равно операция O (n) в худшем случае), но он определенно будет более кратким:
ответил Mureinik 29 thEurope/Moscowp30Europe/Moscow09bEurope/MoscowSat, 29 Sep 2018 19:07:45 +0300 2018, 19:07:45

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

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132