아래의 글은 마틴 오더스키,렉스 스푼,빌 베너스 공저 / 오현석,이동욱,반영록 공역, 『Programming in Scala 3/e』,에이콘출판사(2017), CH01의 내용을 기반으로 작성하였습니다.
1. 시퀀스
가장 중요한 시퀀스는 List 클래스, 변경 불가능한 linked list, 원소 추가나 삭제가 용이, 임위의 위치에 접근할때 순차 일기
배열
배열은 원소의 시퀀스를 저장,
임의의 원소에 효율적으로 접근
리스트 버퍼
리스트 끝에 추가할려면 reverse 하고 앞에 추가하고, 다시 reverse
reverse 연산을 피할 수 있는 방법은 ListBuffer
리스트 버퍼는 변경가능한 객체
+= 원소 추가
+=: 원소 앞에 추가
ListBuffer눈 잠재적인 stock overflow 방어
배열버퍼
ArrayBuffer
문자열
StringOps
2. Set(집합)과 Map(맵)
Set과 Map 을 만들면 디폴트로 변경 불가능한 객체 생성
Map, Predef.Map, scala.collection.immutable.Map 동일
Set의 특징은 특정 객체는 최대 하나만 들어가도록 보장
같은지는 == 로 결정
Map의 특징은 집합의 각 원소 사이에 연관 관계 설정
맵 생성은 key, value 필요
Set : HashSet 으로 제공
Map : HashMap
SortedSet
SortedMap
구현은 TreeSet, TreeMap
원소나 키는 red-black tree 사용
3. 변경가능, 변경 불가능
가능한 변경 불가능
++= 는 집합에 원소 컬랙션을 추가한다.
4. 컬렉션 초기화
TreeSet 만들어서 ++ 연산자 통해서 추가
배열이나 리스트로 바꾸기
toList
toArray
5. 튜플
정해진 개수의 원소를 한데 묶는다
원소 타입이 서로 다를 수 있다
'독서관련 > Programming in Scala' 카테고리의 다른 글
Scala CH19. 타입 파라메터화 (0) | 2020.03.29 |
---|---|
Scala CH18. 변경 가능한 객체 (0) | 2020.03.29 |
Scala CH16. 리스트 (0) | 2020.03.29 |
Scala CH15. 케이스 클래스와 패턴 매치 (0) | 2020.03.29 |
Scala CH14. 단언문과 테스트 (0) | 2020.03.29 |