목록, 세트,지도 모음입니다
- 목록 요소에 액세스 할 수있는 (적분 요소의 위치를 반영하는) 인덱스 순서 집합이다. 요소 목록에 여러 번 나타날 수 있습니다. 단어 목록의 한 예 : 단어의 집합, 순서는 중요한 단어이며, 말씀이 반복 될 수있다.
- 설정은 고유 요소의 모음입니다. 비 중복 개체의 집합 : 그것은 수학적 추상화의 컬렉션 (설정)을 반영한다. 일반적으로 요소의 순서는 중요하지 않다 설정합니다. 예를 들어, 알파벳 문자 (세트)의 집합.
- 지도 (또는 사전) 키 - 값 쌍의 집합입니다. 키는 각각의 키는 정확히 값에 매핑 고유합니다. 값이 반복 될 수있다. 맵은 오브젝트, 예를 들어, 직원 ID와 종업원 위치 사이의 논리적 연결을 저장하는데 유용하다.
컬렉션 만들기
일반적으로 빠르게 컬렉션을 만들 표준 라이브러리를 사용, listOf
물론, 당신은 또한 자바 생성자의 집합을 사용할 수 있습니다
val numbers = listOf(0,1,2,3,4)
빈 세트 : 빈리스트 (), emptySet ()와 emptyMap (), 당신의 유형을 지정해야
val empty = emptyList<String>()
컬렉션의 일부를 가지고
일부분
val numbers = listOf(0,1,2,3,4)
//按顺序取
println(numbers.slice(1..3))//[1,2,3]
//按步长取
println(numbers.slice(0..4 step 2))//[0,2,4]
//取指定下标
println(numbers.slice(setOf(3, 4, 0)))//[3,4,0]
N 원소는 테이크 촬영
- 어레이 소자 N에서 받아 순차적 : INT (N)을
- takeLast (N : INT) N 요소의 끝에서 촬영
- , 조건을 중지 촬영 한 takeWhile {expresstion}는 만족하지
- 뒷면에서 촬영 takeWhileLast {expresstion}, 정지 조건이 충족되지
val numbers = listOf(0,1,2,3,4)
println(numbers.take(3))//[0,1,2]
println(numbers.takeLast(3))//[2,3,4]
val numbers = listOf("one", "two", "three", "four", "five", "six")
println(numbers.takeWhile { !it.startsWith("three") })//[one,two]
println(numbers.takeLastWhile { !it.startsWith("three") })//[four, five, six]
하락
- 드롭 (N : 지능)는 N 소자 어레이를 삭제
- dropLast (N : INT) N 요소의 어레이 폐기 끝에
- , 조건을 중지 손실되었습니다 dropWhile {expresstion}는 만족하지
- dropWhileLast {expresstion}는 정지 조건을 만족하지, 뒤쪽에서 손실
val numbers = listOf(0,1,2,3,4)
println(numbers.drop(3))//[3,4]
println(numbers.dropLast(3))//[0,1]
val numbers = listOf("one", "two", "three", "four", "five", "six")
println(numbers.dropWhile { !it.startsWith("three") })//three, four, five, six
println(numbers.dropLastWhile { !it.startsWith("three") })//[one, two, three]
필터
- 필터 요소 experssion {}를 만족하는 조건을 갖는
- filterNot {experssion} 촬영 조건을 만족 요소하지 않습니다
- 이 조건에있어서의 그 용도 인덱스 값의 사용을 요구하는 경우 filterIndexed {} experssion
- filterIsInstance <타입> () 요소는 타입인지
val numbers = listOf("one", "two", "three", "four", "five", "six")
val longerThan3 = numbers.filter { it.length > 3 }
println(longerThan3)//[three,four,five]
val numbers = listOf("one", "two", "three", "four")
val filteredIdx = numbers.filterIndexed { index, s -> (index != 0) && (s.length < 5) }
println(filteredIdx)//[two,four]
val numbers = listOf(null, 1, "two", 3.0, "four")
//这里只获得list中的String类型数据
println(numbers.filterIsInstance<String>())//[two,four]
파티션 그룹
val numbers = listOf(2,3,4,5,6)
//上一节类中说过的数据类自动解析,match是满足,rest则是不满足
val (match, rest) = numbers.partition { it%2==0}
println(match)
println(rest)
어레이 검사 조건을 충족
- 어떤 식 {} 임의의 배열 요소는 조건이 참이 반환 만족
- 없음 {표현}가 아닌 데이터 요소를 만족 상태가 true를 돌려주는 것입니다
- 모든 식 {} 어레이의 모든 요소는, 조건을 만족 true를 반환
val numbers = listOf("one", "two", "three", "four")
println(numbers.any { it.endsWith("e") })
println(numbers.none { it.endsWith("a") })
println(numbers.all { it.endsWith("e") })
요소를 가지고
- [인덱스]에서 또한 사용될 수있다
- 수 (인덱스) 일반적인 방법
- elementAt (색인) 새로운 방법
- {} 제 1 구성 요소를 발견하면 찾을 조건을 만족
- findLast는 {} 마지막 요소의 충족 조건을 찾을 수
- 랜덤 ()는 임의을 촬영합니다
중합 작업
- 분 () 최소
- 최대 () 최대
- 평균 () 평균
- 합 () 합산
- 카운트) (COUNT
순서
- 종류 () 오름차순
- 다음 sortDescending () 내림차순