как проверить, содержит ли список подсписок

Не точно скрытая функция, но одна вещь, которую я сделал, добавляет кнопка "Start Without Debugging" рядом с моей кнопкой "Start With Debugging". Просто нажмите стрелку вниз на правильный конец панели инструментов. Тогда нажмите "Кнопки Add или Remove". Тогда Настройте. На вкладке "Команды" выбирают категорию Отладки. Найдите Запуск Без Команды отладки и перетащите его туда, где Вы хотите его на панели инструментов.

8
задан Omnipresent 9 December 2009 в 03:14
поделиться

3 ответа

Вы можете использовать метод Groovy Collection.intersect (Collection right) и проверить, является ли возвращаемый Collection таким же большим, как тот, который был передан в качестве аргумента.

Вы должны использовать метод String.tokenize () до создания списка из строки вместо String.split () , который возвращает массив строк:

def sublist = ["My", "Homer"]
def list = "Hi My Name is Homer".tokenize()

assert sublist.size() == list.intersect(sublist).size()

В качестве альтернативы вы можете использовать метод Groovy Object.every (Closure closure) и проверить, содержится ли каждый элемент подсписка в списке:

assert sublist.every { list.contains(it) }

Однако самый короткий способ - использовать стандартный Java Collection API:

assert list.containsAll(sublist)
25
ответ дан 5 December 2019 в 05:34
поделиться

Your solution will work. Be sure to consider the Knuth–Morris–Pratt algorithm if you're dealing with large arrays of relatively few discrete values.

-2
ответ дан 5 December 2019 в 05:34
поделиться

Самый простой способ - просто позвонить:

list.containsAll(l)

Вы можете найти больше информации здесь: Groovy Collections

7
ответ дан 5 December 2019 в 05:34
поделиться
Другие вопросы по тегам:

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