본문 바로가기

컬렉션

(4)
[Kotlin] 컬렉션 함수 (2) associateBy : 아이템에서 key를 추출하여 map으로 변환하는 함수 name, birthYear 속성이 있는 객체들을 List에 넣어두었을 때 collection.associateBy{ it.name } 중괄호 안에 key로 사용할 속성의 이름을 넣어주면 자동으로 map으로 변환하여 반환한다. groupBy : key가 같은 아이템끼리 배열로 묶어 map으로 만드는 함수 collection.groupBy{ it.birthYear } partition : 아이템에 조건을 걸어 두 개의 컬렉션으로 나누어 줌 collection.partition{ it.birthYear > 2002 } 두 컬렉션은 두 객체를 담을 수 있는 Pair라는 클래스 객체로 반환되므로 각각의 컬렉션을 first, secon..
[Kotlin] 컬렉션 함수 (1) 여태까지 컬렉션을 for문으로 반복하여 포함된 아이템을 하나하나 꺼내어 사용했었다. 하지만 코틀린은 함수형 언어의 특징을 가지고 있기 때문에 좀 더 편리하게 컬렉션을 사용할 수 있다. 컬렉션 함수: list나 set, map과 같은 컬렉션 또는 배열에 일반 함수 또는 람다 함수 형태를 사용하여 for문 없이도 아이템을 순회하며 참조하거나 조건을 걸고, 구조의 변경까지 가능한 함수 forEach : 컬렉션에 포함된 모든 아이템을 it이라는 변수로 순서대로 참조 collection.forEach{ println(it) } filter : it에 조건을 걸어주면 조건에 맞는 객체만 collection으로 만들어서 반환 collection.filter{ it < 4 } map : it에 수식을 적용하여 값을 변..
[Kotlin] 컬렉션(2) Set과 Map https://winterflower.tistory.com/399 [Kotlin] 컬렉션(1) 리스트 리스트는 데이터를 모아 관리하는 컬렉션 클래스를 상속받는 서브 클래스 중 가장 단순한 형태로, 여러 개의 데이터를 원하는 순서로 넣어 관리하는 형태이다. 리스트에는 두 가지가 있다. List : winterflower.tistory.com 컬렉션 1탄에서는 컬렉션 중 List에 대해 알아보았다. 이번 게시물에서는 나머지 컬렉션인 Set과 Map을 알아보자. Set : 리스트와 달리, 순서가 정렬되지 않으며 중복이 허용되지 않는 컬렉션 인덱스로 위치를 지정하여 객체를 참조할 수는 없으며 contains로 객체가 set 안에 존재하는지를 확인하는 식으로만 확인한다. sampleSet.contains(”디모”..
[Kotlin] 컬렉션(1) 리스트 리스트는 데이터를 모아 관리하는 컬렉션 클래스를 상속받는 서브 클래스 중 가장 단순한 형태로, 여러 개의 데이터를 원하는 순서로 넣어 관리하는 형태이다. 리스트에는 두 가지가 있다. List : 생성 시에 넣은 객체를 대체, 추가, 삭제 할 수 없음 MutableList : 생성 시에 넣은 객체를 대체, 추가, 삭제가 가능 리스트 생성 listOf(1, 2, 3) mutableListOf("A", "B", "C") MutableList에서는 요소의 추가, 변경, 삭제, 무작위 섞기, 정렬 가능 요소의 추가 : add(데이터) / add(인덱스, 데이터) 변경 : list[인덱스] = 데이터 삭제 : remove(데이터) / removeAt(인덱스) 무작위 섞기 : shuffle() 정렬 : sort() ..