Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 | 29 |
30 | 31 |
Tags
- 5397번
- graphical models
- Numerical optimization
- 알고리즘대회
- 1차예선
- SCPC
- directed graphical model
- 개발순서
- chapter02
- 선형판별분석
- Fisher discriminant analysis
- undirected graphical model
- bisection
- Perceptron Convergence theorem
- 근구하기
- falsePosition
- 이것이 MySQL이다
- 인공지능
- 스터디
- vector미분
- 2018
- MySQL
- 델타 rule
- secant
- 자바ORM표준JPA프로그래밍
- 알고리즘
- chapter01
- 선형분류
- 로지스틱 회귀
- CH01
Archives
- Today
- Total
computer_study
[Kotlin] 07. 컬렉션과 I/O 자세히 알아보기 본문
1. 컬렉션
엘리먼트들로 이뤄진 그룹을 저장하기 위해 설계된 객체
코틀린에는 여러 컬렉션과 그 안의 여러 가지 데이터 구조를 조작하는 다양한 API들이 있다.
- Iterator 타입은 기본적으로 자바와 동일. (remove()는 MutableIterator로 옮겨져있다.)
- kotlin.collections 패키지에 있는 별명을 통해 대부분의 표준 컬렉션을 쓸 수 있다 (java.util 패키지 클래스를 사용할 필요가 없다.)
컬렉션 생성
- emptyList()/emptySet() - 불변인 빈 리스트/집합 인스턴스 생성
- listOf()/setOf() - 인자로 제공한 배열에 기반한 불변 인스턴스 생성
- listOfNotNull() - Null이 아닌 값으로 이루어진 불변 리스트
- mutableListOf()/ mutableSetOf() - 가변 리스트/집합
- arrayListOf() - arraylist 생성
- hashSetOf()/LinkedSetOf()/sortedSetOf() - HashSet/LinkedHashSet/TreeSet의 새 인스턴스 생성
- emptyMap() - 빈 불변의 맵
- mapOf() - 새 불변 맵
- mutableMapOf() - 가변 맵의 디폴트 구현 인스턴스
- hashMapOf()/linkedMapOf()/sortedMapOf() - HashMap/LinkedHashMap/TreeMap의 새 인스턴스 생성
- yield() - 원소를 하나 시퀀스에 추가
- yieldAll() - 지정한 이터레이터, 이터러블, 시퀀스에 들어있는 모든 원소를 시퀀스에 추가
2. 파일과 I/O 스트림
use()함수
- 인자로 전달받은 람다를 실행하고 람다의 결과를 돌려준다(예외 발생에 상관없이 정리 후 실행해준다)
// kotlin
val lines = FileReader("data.bin").use{it.readLines()}
// Java
val reader = FileReader("data.bin")
val lines = try{
reader.readLines()
}finally{
reader.close()
}
파일 콘텐츠 접근
코틀린 표준 라이브러리는 명시적으로 I/O 스트림을 쓰지 않고도 파일 콘텐츠를 읽을 수 있는 함수를 제공한다.
- readText() - 파일 콘텐츠 전부를 한 문자열로 읽어온다.
- readLines() - 파일 컨텐츠 전부를 줄 구분 문자를 사용해 줄 단위로 나눠 읽어서 문자열의 리스트를 반환한다.
- writeText() - 파일 콘텐츠를 주어진 문자열로 설정한다.(필요하면 파일을 덮어 쓴다)
- appendText() - 주어진 문자열을 파일의 콘텐츠 뒤에 추가한다.
파일 시스템 유틸리티
코틀린은 파일 복사, 삭제, 디렉터리 계층 구조 순회 등도 라이브러리에서 쉽게 해준다.
'스터디 > 코틀린 완벽 가이드' 카테고리의 다른 글
[Kotlin] 09. 제네릭스 (0) | 2022.06.08 |
---|---|
[Kotlin] 08. 클래스 계층 이해하기 (0) | 2022.06.03 |
[Kotlin] 06. 특별한 클래스 사용하기 (0) | 2022.05.27 |
[Kotlin] 05. 고급 함수와 함수형 프로그래밍 활용하기 (0) | 2022.05.26 |
[Kotlin] 03. 함수 정의하기 (0) | 2022.05.19 |
Comments