반응형
groovy 배열 / 해시 / 컬렉션 / 목록의 요소를 확인하는 방법은 무엇입니까?
배열에 요소가 포함되어 있는지 어떻게 알 수 있습니까? 로 [1, 2, 3].includes(1)
평가 할만한 것이있을 것이라고 생각했습니다 true
.
.contains ()는 목록에 가장 적합한 방법이지만 맵의 경우 .containsKey () 또는 .containsValue ()를 사용해야합니다.
[a:1,b:2,c:3].containsValue(3)
[a:1,b:2,c:3].containsKey('a')
일부 구문 설탕
1 in [1,2,3]
목록을 보려면 다음을 사용하십시오 contains
.
[1,2,3].contains(1) == true
ArrayList에 include 메소드를 정말로 원한다면 추가하십시오.
ArrayList.metaClass.includes = { i -> i in delegate }
중요 도메인과 같은 객체 컬렉션에서 .contains ()를 사용하는 데 어려움이 있습니다. Domain 선언에 EqualsAndHashCode 또는 다른 equals () 구현이 포함되어 해당 Ojbect가 동일한 지 여부를 판별하고 다음과 같이 설정 한 경우 ...
import groovy.transform.EqualsAndHashCode
@EqualsAndHashCode(includes = "settingNameId, value")
.contains (myObjectToCompareTo)는 Collection의 각 Object 인스턴스에 대한 데이터를 사용하여 myObjectToCompareTo의 데이터를 평가합니다. 따라서 equals 방법이 스너프하지 않으면 광산이 아니기 때문에 예기치 않은 결과가 나타날 수 있습니다.
def fruitBag = ["orange","banana","coconut"]
def fruit = fruitBag.collect{item -> item.contains('n')}
나는 이것을 이렇게 했으므로 누군가 그것을 찾고 있다면 효과가 있습니다.
반응형
'programing tip' 카테고리의 다른 글
PHP 헤더가있는 CORS (0) | 2020.07.13 |
---|---|
UIImageView에서 코너 반경 설정이 작동하지 않습니다 (0) | 2020.07.13 |
diff를 git-diff처럼 작동시키는 방법? (0) | 2020.07.12 |
angularjs 약속을 반환하기 전에 해결할 수 있습니까? (0) | 2020.07.12 |
Pandas DataFrame을 사전으로 변환 (0) | 2020.07.12 |