반응형
Groovy의 목록에서 Null 항목 제거
Groovy의 목록에서 null 항목을 제거하는 가장 좋은 방법은 무엇입니까?
전의: [null, 30, null]
반환하고 싶다 : [30]
원래 목록을 유지하고 싶지 않은 경우 여기에 답변이 있습니다.
void testRemove() {
def list = [null, 30, null]
list.removeAll([null])
assertEquals 1, list.size()
assertEquals 30, list.get(0)
}
편리한 멋쟁이 단위 테스트에서
마이너스를 사용하십시오.
[null, 30, null] - null
findAll 메소드는 필요한 작업을 수행해야합니다.
[null, 30, null].findAll {it != null}
다른 "거짓"값도 사라지는 것을 염두에 두지 않는다고 가정하면 이것이 가장 짧다는 것을 알게 될 것입니다.
println([null, 30, null].findAll())
public Collection findAll () IDENTITY 클로저와 일치하는 항목을 찾습니다 (즉, Groovy 진실과 일치). 예:
def items = [1, 2, 0, false, true, '', 'foo', [], [4, 5], null] assert items.findAll () == [1, 2, true, 'foo' , [4, 5]]
이것은 grep에 의해서도 가능합니다 :
assert [null, 30, null].grep() == [30]
또는
assert [null, 30, null].grep {it} == [30]
또는
assert [null, 30, null].grep { it != null } == [30]
간단히 [null].findAll{null != it}
경우 it
는 새 컬렉션에 존재하지 않도록 널 그때는 false를 돌려줍니다.
이것은 모든 null 항목을 제자리에서 제거합니다.
myList.removeAll { !it }
도메인에 숫자 0이 있으면 null을 확인할 수 있습니다.
myList.removeAll { it == null }
이를 수행하는 또 다른 방법은 [null, 20, null].findResults{it}
.
참조 URL : https://stackoverflow.com/questions/3285241/remove-null-items-from-a-list-in-groovy
반응형
'programing' 카테고리의 다른 글
경로에서 파일 이름을 추출하는 방법은 무엇입니까? (0) | 2021.01.16 |
---|---|
스토리 보드 사용시 기본 탭 설정 (0) | 2021.01.16 |
함수형 프로그래밍, 스칼라 맵 및 왼쪽 접기 (0) | 2021.01.16 |
C에서 값을 교환하는 가장 빠른 방법은 무엇입니까? (0) | 2021.01.16 |
일부 조각에서 MenuItem 숨기기 (0) | 2021.01.16 |