Hello, Android!

컬렉션 검색, 분리, 병합, 정렬 본문

Kotlin

컬렉션 검색, 분리, 병합, 정렬

lwndnjs93 2020. 7. 21. 22:57

- 검색

- elementAt : 인덱스에 해당하는 요소를 반환한다. 매개변수가 컬렉션의 인덱스 범위를 벗어나면 ArrayIndexOutOfBoundsException에러가 발생하니 주의!

 

- elementAtOrElse : 첫번째 매개변수는 검색할 인덱스 번호 두번째 매개변수는 인덱스가 범위 밖일때 첫번째 매개변수로 식을 처리한다. 즉 식의 it에 첫번째 매개변수가 들어간다

 

- elementAtOrNull : 매개변수가 인덱스 범위 밖일때는 null을 반환한다

 

- first : 해당 조건식을 만족하는 첫번째 요소를 반환한다

 

- last : 해당 조건식을 만족하는 마지막 요소를 반환한다

 

- firstOrNull : 조건식을 만족하는 첫번째 요소를 반환한다. 없으면 null반환

 

- lastOrNull : 조건식을 만족하는 마지막 요소를 반환한다. 없으면 null반환

 

- indexOf : 매개변수와 일치하는 첫번째 요소의 인덱스를 반환

 

- indexOfFirst : 식에 일치하는 첫번째 요소의 인덱스를 반환. 없으면 -1 반환

 

- lastIndexOf : 매개변수와 일치하는 마지막 요소의 인덱스를 반환

 

- indexOfLast : 식에 일치하는 마지막 요소의 인덱스를 반환. 없으면 -1 반환

 

- single : 해당 조건식에 일치하는 요소를 하나 반환한다. 만약 식에 일치하는 값이 여러개일 경우 IllegalArgumentException 에러가 발생한다

 

- singleOrNull : 해당 조건식에 일치하는 요소를 반환하며, 일치하는 요소가 없거나 여러개일 경우 null을 반환한다

 

- binarySearch : 매개변수로 주어진 값을 이진탐색으로 찾는다. binarySearch는 중복되는 요소가 있는 경우 해당 요소가 원하는 인덱스에 있는지 보장을 할수가 없다

 

- find : 조건식을 만족하는 첫번째로 요소를 반환한다. 만약 없으면 null을 반환한다

 

- 분리, 병합

- union : 두 컬렉션을 합친다. 중복되는 요소는 하나만 남기며 set으로 반환한다

(set : https://lwndnjs93.tistory.com/72)

 

- plus : 두 컬렉션을 합친다. 중복되는 요소가 있으면 그 갯수만큼 남으며 List로 반환한다(plus와 + 를 사용한 결과는 동일하다)  

(list : https://lwndnjs93.tistory.com/71)

 

- partition : 조건식에 따라 컬랙션을 두개로 나눈다. true의 경우 결과값의 첫번째에, false의 경우 결과값의 두번째에 위치한다

 

- zip : 두개의 컬렉션의 동일한 인덱스의 요소끼리 Pair를 만들어 반환한다. 만약 둘의 길이가 다르면 짧은쪽에 맞춘다

- 정렬

- reversed : 컬렉션을 뒤집어준다

- sorted : 컬렉션을 오름차순으로 정렬한다

- sortedDescending : 컬렉션을 내림차순으로 정렬한다

- sortedBy : 식의 결과가 true인게 뒤로, false인게 앞으로 오도록 정렬한다

- sortedByDescending : 식의 결과가 true인게 앞으로로, false인게 뒤로 오도록 정렬한다

'Kotlin' 카테고리의 다른 글

클로저  (0) 2020.07.23
시퀀스  (0) 2020.07.22
컬렉션 잘라내기, 매핑  (0) 2020.07.21
컬렉션 요소의 검사, 필터  (0) 2020.07.20
컬렉션의 연산, 집계  (0) 2020.07.19