사실 배열은 잘 사용하지 않습니다. 하지만 문법비교는 해보겠습니다.
아래는 자바코드 입니다.
코틀린에서는 아래처럼 사용합니다.
forEach 처럼 사용도 가능합니다.
컬렉션을 만들어줄 때 불변인지, 가변인지를 설정해야 한다.
아래는 코틀린 collection 계층도 입니다.불변과 가변 컬렉션이 나뉘어져 있습니다.
(불변 컬렉션이라 하더라도 Reference Type인 Element의 필드는 바꿀 수 있습니다.)
jdk8에서는 아래와 같이 리스트를 생성하였습니다.
아래는 코틀린에서 리스트를 만드는 방식 입니다.
타입을 추론할 수 있는 경우에는 생략가능
아래는 자바에서 리스트를 활용하는 방법 입니다.
코틀린으로도 작성 해보겠습니다.
가변 리스트가 만들고싶다면 아래처럼 사용합니다.
우선 불변 리스트를 만들고, 꼭 필요한 경우 가변 리스트로 바꾸는게 효율적인 방법이 될 것 같습니다.
집합은 List와 다르게 순서가 없고,
같은 element는 하나만 존재할 수 있다.
자료구조적 의미만 제외하면 모든 기능이 List와 비슷합니다
사용하는 방법도 거의 같습니다.
가변 집합을 만드는 방법도 같습니다.
자바에서 맵을 생성하는 코드 입니다.
코틀린에서는 아래처럼 활용합니다.
아래처럼 for문 활용가능합니다.
? 위치에 따라 null의 가능성이 미묘하게 바뀐다.
List<Int?> : 리스트에 null이 들어갈 수 있지만, 리스트 자체는 절대 null이 아님
List? : 리스트에는 null이 들어갈 수 없지만, 리스트 자체는 null일 수 있음
List<Int?>? : 리스트에 null이 들어갈 수도 있고, 리스트 자체가 null일 수도 있음
다음 포스팅에서는 다양한 함수를 공부해보도록 하겠습니다.