How to check if element in groovy array/hash/collection/list?

Viewed 272923

How do I figure out if an array contains an element? I thought there might be something like [1, 2, 3].includes(1) which would evaluate as true.

8 Answers

.contains() is the best method for lists, but for maps you will need to use .containsKey() or .containsValue()

[a:1,b:2,c:3].containsValue(3)
[a:1,b:2,c:3].containsKey('a')

For lists, use contains:

[1,2,3].contains(1) == true

If you really want your includes method on an ArrayList, just add it:

ArrayList.metaClass.includes = { i -> i in delegate }
def fruitBag = ["orange","banana","coconut"]
def fruit = fruitBag.collect{item -> item.contains('n')}

I did it like this so it works if someone is looking for it.

You can also use matches with regular expression like this:

boolean bool = List.matches("(?i).*SOME STRING HERE.*")
Related