8장을 마무리했다.
Set과 MutableSet, Map과 MutableMap, 컬렉션의 데이터 작업, 컬렉션 그룹화에 대해 공부했다.
indexOf(item)
, add(index, item)
함수를 가지지 않는다.hashCode
함수와 equals
함수를 내부적으로 실행하여 중복된 요소를 담지 않기 때문이다.data class
의 객체는 set에 중복되게 들어가더라도 중복된 요소가 들어가지 않지만, 커스텀 클래스의 객체는 set에 중복된 요소가 들어가게 된다. 이는 커스텀 클래스에는 hashCode
함수와 equals
함수가 구현되지 않았기 때문인데, 이를 직접 구현하면 set에 들어갈 때 중복된 요소가 없게 된다.map
함수는 인자로 넘겨진 람다를 컬렉션의 각 요소에 적용한 결과 컬렉션을 반환한다.flatMap
은 컬렉션의 각 요소에 대한 새로운 컬렉션을 생성하고 그것을 결합한 컬렉션을 반환한다.filter
함수는 컬렉션의 각 요소에 인자로 넘겨진 람다의 조건식을 적용해서 참이 되는 요소만을 가지는 컬렉션을 반환한다.drop
함수는 컬렉션의 요소 중 인자로 받은 수만큼의 요소를 앞에서부터 버린 컬렉션을 반환한다.dropLast
함수는 drop
과 반대로 인자로 받은 수만큼의 요소를 뒤에서부터 버린 컬렉션을 반환한다.take
함수는 컬렉션의 요소 중 인자로 받은 수만큼의 요소를 앞에서부터 가져온 컬렉션을 반환한다.takeLast
함수는 컬렉션의 요소 중 인자로 받은 수 만큼의 요소를 뒤에서부터 가져온 컬렉션을 반환한다.takeWhile
함수는 인자로 넘겨진 람다의 조건식을 만족할 때까지만 앞에서 요소를 가져온 컬렉션을 반환한다.takeLastWhile
함수는 takeWhile
함수와 반대로 뒤에서부터 람다의 조건식을 만족하는 동안만 요소를 가져온 컬렉션을 반환한다.zip
함수는 두 컬렉션을 압축하여 각 컬렉션 요소의 Pair를 가지는 컬렉션을 반환한다.zip
함수 사용 시 두 컬렉션의 길이가 다르면 짧은 쪽을 기준으로 한다.zipWithNext
함수는 컬렉션의 각 요소와 그 다음 요소의 Pair를 가지는 컬렉션을 반환한다.groupby
함수를 통해 인자로 넘긴 람다의 조건식의 결과를 키로 하고 그에 해당하는 컬렉션의 각 요소들을 가지는 컬렉션을 값으로 하는 Map을 얻을 수 있다. 이를 통해 컬렉션을 요구사항에 맞게 그룹화 할 수 있다.3장 운영체제 중 프로세스와 스레드 부분을 정리하는 중이다.