반응형
groovy array/hash/collection/list의 요소 확인 방법
어레이에 요소가 포함되어 있는지 확인하려면 어떻게 해야 합니까?이런 게 있을 것 같아서[1, 2, 3].includes(1)
그것은 평가될 것이다.true
.
약간의 구문설탕
1 in [1,2,3]
목록에는 .contains()가 가장 좋지만 맵에는 .containsKey() 또는 .containsValue()를 사용해야 합니다.
[a:1,b:2,c:3].containsValue(3)
[a:1,b:2,c:3].containsKey('a')
리스트의 경우는,contains
:
[1,2,3].contains(1) == true
Membership 연산자를 사용할 수 있습니다.
def list = ['Grace','Rob','Emmy']
assert ('Emmy' in list)
ArrayList에 포함 메서드를 포함하려면 다음 명령을 추가합니다.
ArrayList.metaClass.includes = { i -> i in delegate }
중요 도메인 등의 오브젝트 컬렉션에서 .contains()를 사용하기 위한 Gotcha.도메인 선언에 EqualsAndHashCode 또는 Ojbects가 동일한지 여부를 판단하기 위한 다른 Equals() 구현이 포함되어 있으며, 이렇게 설정되어 있는 경우...
import groovy.transform.EqualsAndHashCode
@EqualsAndHashCode(includes = "settingNameId, value")
그러면 .contains(myObjectToCompareTo)는 myObjectToCompareTo 내의 데이터를 컬렉션 내의 각 오브젝트인스턴스 데이터와 함께 평가합니다.그래서, 만약 당신의 동등한 방법이 내 방식처럼 충분하지 않다면, 당신은 예상치 못한 결과를 볼 수 있을 것입니다.
def fruitBag = ["orange","banana","coconut"]
def fruit = fruitBag.collect{item -> item.contains('n')}
이렇게 해서 찾는 사람이 있으면 돼요.
다음과 같은 정규 표현으로 일치 항목을 사용할 수도 있습니다.
boolean bool = List.matches("(?i).*SOME STRING HERE.*")
언급URL : https://stackoverflow.com/questions/51927/how-to-check-if-element-in-groovy-array-hash-collection-list
반응형
'programing' 카테고리의 다른 글
WPF 치트시트가 있나요? (0) | 2023.04.13 |
---|---|
PowerShell: 스크립트 디렉토리에서 명령 실행 (0) | 2023.04.13 |
WPF XAML : DataGrid에서 다중 선택을 해제하려면 어떻게 해야 합니까? (0) | 2023.04.13 |
큰 텍스트 파일을 같은 줄의 작은 파일로 분할하려면 어떻게 해야 합니까? (0) | 2023.04.13 |
인수 목록을 가져오려면 어떻게 해야 합니까? (0) | 2023.04.13 |