Groovy는 Java와 완벽하게 호환되는 유연하고 동적인 언어입니다. 이 포스트에서는 Groovy의 컬렉션에 대해 다룹니다. 컬렉션은 코딩을 더 효율적으로 만드는 중요한 기능입니다. Java나 Python에서 전환하는 경우, 이 가이드는 Groovy의 강력한 컬렉션 기능을 이해하는 데 도움이 될 것입니다.
Groovy에서 컬렉션 정의하기
Java에서 List를 생성할 때 new
연산자를 사용하고 타입을 지정해야 하는 번거로움이 있습니다. 하지만, Groovy에서는 간단히 대괄호를 사용하여 List를 생성할 수 있습니다:
L = [1, 2, 3]
new
연산자를 사용하지 않아도 되며, Python과 유사한 방식으로 값을 대괄호 안에 넣으면 됩니다. 이는 빠른 개발이 필요한 프로젝트에서 특히 유용합니다.
컬렉션의 데이터 타입을 확인하려면 다음 코드를 사용하세요:
println L
println L.class
이 코드를 실행하면 기본 타입이 ArrayList
임을 확인할 수 있습니다. 다른 List 타입을 사용하고 싶다면 다음과 같이 쉽게 변경할 수 있습니다:
L = new LinkedList([1, 2, 3])
Groovy 스크립트 실행하기
Groovy 스크립트를 저장한 후, 마우스 오른쪽 버튼을 클릭하고 "Run As Groovy Script"를 선택하여 쉽게 실행할 수 있습니다. 이를 통해 List 요소와 타입을 확인할 수 있습니다.
List에 요소 추가하기
Java에서는 .add()
메서드를 사용합니다. Groovy에서는 <<
(왼쪽 시프트) 연산자를 사용해 간단히 요소를 추가할 수 있습니다:
L << 4
println L
이렇게 하면 List에 값 4
가 추가되어 [1, 2, 3, 4]
가 됩니다. 또한 여러 요소를 한 번에 추가할 수도 있습니다:
L = L + [5, 6, 7]
println L
이와 같이 +
연산자를 사용하여 List를 연결할 수 있습니다. 결과는 [1, 2, 3, 4, 5, 6, 7]
입니다. 새로운 변수에 저장하려면 다음과 같이 하면 됩니다:
L1 = L + [8, 9]
println L1
List에서 요소 제거하기
Groovy에서는 특정 값을 제거하기 위해 -
연산자를 사용할 수 있습니다:
L = L - [3, 5]
println L
이 코드를 실행하면 List에서 3
과 5
가 제거됩니다.
List와 함께 Closure 사용하기
Closure는 Groovy의 강력한 기능 중 하나로, 컬렉션을 우아하게 반복할 수 있습니다. .each
메서드는 Java의 for-each
루프와 유사하지만 더 많은 유연성을 제공합니다:
L.each { println it }
it
은 List의 현재 요소를 나타냅니다. List를 역순으로 반복하려면 .reverseEach
메서드를 사용할 수 있습니다:
L.reverseEach { println it }
Permutations 및 Combinations
Groovy는 Permutations 및 Combinations 같은 고급 작업도 지원합니다. 이는 알고리즘 최적화나 테스트에서 유용할 수 있습니다:
L.permutations().each { println it }
.permutations()
를 사용하면 List 요소의 모든 가능한 배열을 반환합니다.
Groovy 컬렉션 사용 경험
Java에서 Groovy로 전환하면서 특히 컬렉션을 다룰 때 큰 변화를 느꼈습니다. Groovy의 <<
및 -
연산자를 사용하면 반복적인 코드를 줄일 수 있어 스크립트가 더 간결하고 유지 관리가 쉬워졌습니다. 예를 들어, 암호화폐 거래 쌍을 생성하는 프로젝트에서 .permutations()
메서드를 사용해 Java에서 복잡하게 작성해야 했던 코드를 단순화할 수 있었습니다.
Groovy의 오버로드된 연산자 활용하기
Groovy의 또 다른 강력한 기능은 오버로드된 연산자를 사용하는 것입니다. .addAll()
대신 +
또는 +=
연산자를 사용해 List를 간단히 확장할 수 있습니다:
L += [10, 11]
println L
이렇게 하면 10
과 11
이 기존 List에 추가되고 결과가 L
에 재할당됩니다.
'SW > Groovy' 카테고리의 다른 글
Groovy : Method(메서드) 함수 : 개념, 개요, 예제, 사용, 방법 (0) | 2025.01.13 |
---|---|
Groovy : Lists, Sets, Maps 컬렉션 : 개념, 예제, 사용법, 개요 (0) | 2025.01.12 |
Groovy : Closures 개념, 예제, 설명, 방법 (0) | 2025.01.10 |
Groovy : 변수 데이터 타입 : 개념, 예제, 설명, 방법 (0) | 2025.01.09 |
Spring Tool Suite(STS) 설치 및 Groovy 설정: 종합 가이드 (0) | 2025.01.06 |