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 |
Tags
- 안드로이드 웹뷰
- play 강좌
- 플레이프레임워크
- akka 강좌
- 스위프트
- 그라파나
- CORDA
- Golang
- Akka
- 파이썬
- Play2 로 웹 개발
- 파이썬 강좌
- 스칼라
- 스칼라 동시성
- Play2
- Hyperledger fabric gossip protocol
- 파이썬 동시성
- Actor
- 파이썬 머신러닝
- 엔터프라이즈 블록체인
- play2 강좌
- 블록체인
- 주키퍼
- 하이퍼레저 패브릭
- Adapter 패턴
- 이더리움
- 스칼라 강좌
- 파이썬 데이터분석
- hyperledger fabric
- 하이브리드앱
Archives
- Today
- Total
HAMA 블로그
스칼라 강좌 (7) - 컬렉션과 자바 본문
스칼라 컬렉션과 자바
특성
* 스칼라 컬렉션에서 배열은 특별하다. 스칼라 배열은 어떤 면에서 자바 배열과 일대일 대응된다.
즉 Array[Int] 는 자바에서는 int[] 로 표현할 수 있다.
다만 스칼라쪽 배열이 훨씬 많은 기능을 제공한다는 점.
1. 제너릭 할 수 있다. Array[T] 식으로 만들 수 있다.
2. Seq[T] 와 호환 가능
3. 모든 시퀀스 연산을 지원한다. (map, filter, reverse 같은..)
* 스칼라는 자바에 비해 변하지 않는 컬렉션을 강조하며, 한 컬렉션에서 새로운 것으로 변환하는 많은 연산 제공
* 스칼라 <-->자바 양방향 변환가능 타입
Iterator <=> java.util.Iterator
Iterator <=> java.util.Enumeration
Iterable <=> java.lang.Iterable
Iterable <=> java.util.Collection
mutable.Buffer <=> java.util.List
mutable.Set <=> java.util.Set
mutable.Map <=> java.util.Map
import collection.JavaConversions._ // 변환을 위해서는 이것을 임포트 해야한다.
import collection.mutable._
val jul : java.util.List[Int] = ArrayBuffer(1,2,3)
val buf : Seq[Int] = jul
val m : java.util.Map[String,Int] = HashMap("abc"->1, "hello" -> 2)
* 스칼라 --> 자바 단방향 변환 타입
Seq => java.util.List
mutable.Seq => java.util.List
Set => java.util.Set
Map => java.util.Map
자바 타입에서는 변경 가능한 컬렉션과 그렇지 않은 컬렉션을 구분 할 수 없다.
만약 collection.imutable.List 를 자바로 변환하면 java.util.List 가 만들어 지고
이것에 대해 변경 연산을 시도하면 예외가 발생할 것이다.
'Scala' 카테고리의 다른 글
스칼라 강좌 (9) - Stack / Queue (0) | 2016.06.26 |
---|---|
스칼라 강좌 (8) - ArrayBuffer 와 Vector 그리고 공변성 (0) | 2016.06.26 |
스칼라 강좌 (6) - Map (0) | 2016.06.20 |
스칼라 강좌 (5) - Set (0) | 2016.06.19 |
스칼라 강좌 (4) - Tuple (0) | 2016.06.19 |
Comments