SlideShare a Scribd company logo
1 of 9
Scala - 배열 사용하기
Real-Time Mobile Messaging Team
Kim Chnagkyu
Array 기본원칙
Array[type](size) : Definition
Array(index) : Usage
Array(e1,e2,…,e3): Initialize
Array[Array[type]]: Multi-dimentional
Array Definition and Usage
 val array = new Array[Int](10)
 Int형 10칸짜리 배열 생성
 val array = Array(1,2,3)
 Int형 3칸짜리 배열 생성과 동시에 초기화
 print array(2)
Index가 2인 값 출력
Multi Dimensional Array
 C언어에서 포인터로 배열 만들 때 개념을 생각하면 용이.
 val matrix = Array.ofDim[Int](3,4)
 Array의 메서드로 생성가능
 val matrix = Array(Array(2,3),Array(4,5,6));
 이런 식으로 각각 에 대하여 정의가능
 println(matrix(1)(2))
 C언어에서 []대신 ()를 사용할수 있음.
Mutable Array (Collection)
 Java 의 ArrayList와 상응하는 ArrayBuffer가 있음.
 Definition
 val arr = ArrayBuffer[Int]()
 Var arr = new ArrayBuffer[Int]
 Add and modify
 arr += 1 //1을 추가
 arr += (2,3,4) //2,3,4를 모두 추가
 arr ++= ArrayBuffer(5,6,7,8) //Collection또한 추가가능
 arr.insert(2,9)
 println(arr(3))
yield
 Loop에서 컬렉션을 생성하는 방법
 val orign = Array(1,2,3,4,5)
 val after = for(a<-orign) yield a*2
 // (2,4,6,8,10) 이 after에 저장됨.
 // yield는 for문에 옵션으로 붙는것으로
 //for문 내용의 return값을 저장함.
yield 예제
 피보니치 수열
 출력값
Vector(1, 1, 2, 3, 5, 8, 13, 21, 34, 55
)
 For문의 함수의 리턴값을 저장하는것
Array 내장 함수
 arr.sum
 원소들의 총합을 구함.
 arr.max / arr.min
 원소들 중 최댓값/ 최솟값을 구함
 arr.count
 원소의 개수를 구함
Java와의 연동
 Java의 java.util.List(Interface)와 Scala의
scala.collection.mutable.Buffer(Trait)과 상호 변경 가능
 예)
 val pb = new ProcessBuilder(ArrayBuffer(“ls”, “-ls”, “/home/”))
 val 층 : buffer[String] = pb.command()

More Related Content

What's hot

R과 기초통계 : 02.기술통계-자료나타내기
R과 기초통계 : 02.기술통계-자료나타내기R과 기초통계 : 02.기술통계-자료나타내기
R과 기초통계 : 02.기술통계-자료나타내기Yoonwhan Lee
 
R 스터디 두번째
R 스터디 두번째R 스터디 두번째
R 스터디 두번째Jaeseok Park
 
R 스터디 첫번째
R 스터디 첫번째R 스터디 첫번째
R 스터디 첫번째Jaeseok Park
 
R 프로그래밍 기본 문법
R 프로그래밍 기본 문법R 프로그래밍 기본 문법
R 프로그래밍 기본 문법Terry Cho
 
파이썬 Numpy 선형대수 이해하기
파이썬 Numpy 선형대수 이해하기파이썬 Numpy 선형대수 이해하기
파이썬 Numpy 선형대수 이해하기Yong Joon Moon
 
포인터와 배열
포인터와 배열포인터와 배열
포인터와 배열Kim YoSep
 
통계자료 분석을 위한 R
통계자료 분석을 위한 R통계자료 분석을 위한 R
통계자료 분석을 위한 RYoonwhan Lee
 
[Swift] Data Structure - Binary Tree
[Swift] Data Structure - Binary Tree[Swift] Data Structure - Binary Tree
[Swift] Data Structure - Binary TreeBill Kim
 
[Swift] Subscripts
[Swift] Subscripts[Swift] Subscripts
[Swift] SubscriptsBill Kim
 
R 기초 : R Basics
R 기초 : R BasicsR 기초 : R Basics
R 기초 : R BasicsYoonwhan Lee
 
R 스터디 세번째
R 스터디 세번째R 스터디 세번째
R 스터디 세번째Jaeseok Park
 
[Commit Again] 1주차 STL study
[Commit Again] 1주차 STL study[Commit Again] 1주차 STL study
[Commit Again] 1주차 STL study경 송
 
알고리즘과 자료구조
알고리즘과 자료구조알고리즘과 자료구조
알고리즘과 자료구조영기 김
 
Effective Python, Clean Code
Effective Python, Clean CodeEffective Python, Clean Code
Effective Python, Clean CodeJinHwan2
 
[Week14] D3.js_Scale and Axis (보충자료)
[Week14] D3.js_Scale and Axis (보충자료)[Week14] D3.js_Scale and Axis (보충자료)
[Week14] D3.js_Scale and Axis (보충자료)neuroassociates
 
Binary Search
Binary SearchBinary Search
Binary Searchskku_npc
 

What's hot (20)

R과 기초통계 : 02.기술통계-자료나타내기
R과 기초통계 : 02.기술통계-자료나타내기R과 기초통계 : 02.기술통계-자료나타내기
R과 기초통계 : 02.기술통계-자료나타내기
 
R 스터디 두번째
R 스터디 두번째R 스터디 두번째
R 스터디 두번째
 
Haskell study 2
Haskell study 2Haskell study 2
Haskell study 2
 
R 스터디 첫번째
R 스터디 첫번째R 스터디 첫번째
R 스터디 첫번째
 
R 프로그래밍 기본 문법
R 프로그래밍 기본 문법R 프로그래밍 기본 문법
R 프로그래밍 기본 문법
 
파이썬 Numpy 선형대수 이해하기
파이썬 Numpy 선형대수 이해하기파이썬 Numpy 선형대수 이해하기
파이썬 Numpy 선형대수 이해하기
 
포인터와 배열
포인터와 배열포인터와 배열
포인터와 배열
 
통계자료 분석을 위한 R
통계자료 분석을 위한 R통계자료 분석을 위한 R
통계자료 분석을 위한 R
 
Haskell study 5
Haskell study 5Haskell study 5
Haskell study 5
 
Haskell study 4
Haskell study 4Haskell study 4
Haskell study 4
 
Example
ExampleExample
Example
 
[Swift] Data Structure - Binary Tree
[Swift] Data Structure - Binary Tree[Swift] Data Structure - Binary Tree
[Swift] Data Structure - Binary Tree
 
[Swift] Subscripts
[Swift] Subscripts[Swift] Subscripts
[Swift] Subscripts
 
R 기초 : R Basics
R 기초 : R BasicsR 기초 : R Basics
R 기초 : R Basics
 
R 스터디 세번째
R 스터디 세번째R 스터디 세번째
R 스터디 세번째
 
[Commit Again] 1주차 STL study
[Commit Again] 1주차 STL study[Commit Again] 1주차 STL study
[Commit Again] 1주차 STL study
 
알고리즘과 자료구조
알고리즘과 자료구조알고리즘과 자료구조
알고리즘과 자료구조
 
Effective Python, Clean Code
Effective Python, Clean CodeEffective Python, Clean Code
Effective Python, Clean Code
 
[Week14] D3.js_Scale and Axis (보충자료)
[Week14] D3.js_Scale and Axis (보충자료)[Week14] D3.js_Scale and Axis (보충자료)
[Week14] D3.js_Scale and Axis (보충자료)
 
Binary Search
Binary SearchBinary Search
Binary Search
 

Similar to Scala스터디 - 배열사용하기

[Swift] Collection types
[Swift] Collection types[Swift] Collection types
[Swift] Collection typesBill Kim
 
Data Mining with R CH1 요약
Data Mining with R CH1 요약Data Mining with R CH1 요약
Data Mining with R CH1 요약Sung Yub Kim
 
2015 Kitel C 언어 강좌3
2015 Kitel C 언어 강좌32015 Kitel C 언어 강좌3
2015 Kitel C 언어 강좌3ssuseraf62e91
 
파이썬 문자열 이해하기
파이썬 문자열 이해하기파이썬 문자열 이해하기
파이썬 문자열 이해하기Yong Joon Moon
 
파이썬 문자열 이해하기
파이썬 문자열 이해하기파이썬 문자열 이해하기
파이썬 문자열 이해하기Yong Joon Moon
 
Scala 기초 (4)
Scala 기초 (4)Scala 기초 (4)
Scala 기초 (4)명성 정
 
[ES6] 9. Iterator
[ES6] 9. Iterator[ES6] 9. Iterator
[ES6] 9. IteratorHan JaeYeab
 
Java mentoring of samsung scsc 0
Java mentoring of samsung scsc   0Java mentoring of samsung scsc   0
Java mentoring of samsung scsc 0도현 김
 
파이썬정리 20160130
파이썬정리 20160130파이썬정리 20160130
파이썬정리 20160130Yong Joon Moon
 
자바프로그래머를 위한 스칼라
자바프로그래머를 위한 스칼라자바프로그래머를 위한 스칼라
자바프로그래머를 위한 스칼라Jong Gook Bae
 
자바로 배우는 자료구조
자바로 배우는 자료구조자바로 배우는 자료구조
자바로 배우는 자료구조중선 곽
 
Python3 10장 문자열이야기
Python3 10장 문자열이야기Python3 10장 문자열이야기
Python3 10장 문자열이야기Jihoon Kong
 

Similar to Scala스터디 - 배열사용하기 (15)

[Swift] Collection types
[Swift] Collection types[Swift] Collection types
[Swift] Collection types
 
[ES6] 12. Array
[ES6] 12. Array[ES6] 12. Array
[ES6] 12. Array
 
Scala
ScalaScala
Scala
 
Data Mining with R CH1 요약
Data Mining with R CH1 요약Data Mining with R CH1 요약
Data Mining with R CH1 요약
 
2015 Kitel C 언어 강좌3
2015 Kitel C 언어 강좌32015 Kitel C 언어 강좌3
2015 Kitel C 언어 강좌3
 
3주차 스터디
3주차 스터디3주차 스터디
3주차 스터디
 
파이썬 문자열 이해하기
파이썬 문자열 이해하기파이썬 문자열 이해하기
파이썬 문자열 이해하기
 
파이썬 문자열 이해하기
파이썬 문자열 이해하기파이썬 문자열 이해하기
파이썬 문자열 이해하기
 
Scala 기초 (4)
Scala 기초 (4)Scala 기초 (4)
Scala 기초 (4)
 
[ES6] 9. Iterator
[ES6] 9. Iterator[ES6] 9. Iterator
[ES6] 9. Iterator
 
Java mentoring of samsung scsc 0
Java mentoring of samsung scsc   0Java mentoring of samsung scsc   0
Java mentoring of samsung scsc 0
 
파이썬정리 20160130
파이썬정리 20160130파이썬정리 20160130
파이썬정리 20160130
 
자바프로그래머를 위한 스칼라
자바프로그래머를 위한 스칼라자바프로그래머를 위한 스칼라
자바프로그래머를 위한 스칼라
 
자바로 배우는 자료구조
자바로 배우는 자료구조자바로 배우는 자료구조
자바로 배우는 자료구조
 
Python3 10장 문자열이야기
Python3 10장 문자열이야기Python3 10장 문자열이야기
Python3 10장 문자열이야기
 

Scala스터디 - 배열사용하기

  • 1. Scala - 배열 사용하기 Real-Time Mobile Messaging Team Kim Chnagkyu
  • 2. Array 기본원칙 Array[type](size) : Definition Array(index) : Usage Array(e1,e2,…,e3): Initialize Array[Array[type]]: Multi-dimentional
  • 3. Array Definition and Usage  val array = new Array[Int](10)  Int형 10칸짜리 배열 생성  val array = Array(1,2,3)  Int형 3칸짜리 배열 생성과 동시에 초기화  print array(2) Index가 2인 값 출력
  • 4. Multi Dimensional Array  C언어에서 포인터로 배열 만들 때 개념을 생각하면 용이.  val matrix = Array.ofDim[Int](3,4)  Array의 메서드로 생성가능  val matrix = Array(Array(2,3),Array(4,5,6));  이런 식으로 각각 에 대하여 정의가능  println(matrix(1)(2))  C언어에서 []대신 ()를 사용할수 있음.
  • 5. Mutable Array (Collection)  Java 의 ArrayList와 상응하는 ArrayBuffer가 있음.  Definition  val arr = ArrayBuffer[Int]()  Var arr = new ArrayBuffer[Int]  Add and modify  arr += 1 //1을 추가  arr += (2,3,4) //2,3,4를 모두 추가  arr ++= ArrayBuffer(5,6,7,8) //Collection또한 추가가능  arr.insert(2,9)  println(arr(3))
  • 6. yield  Loop에서 컬렉션을 생성하는 방법  val orign = Array(1,2,3,4,5)  val after = for(a<-orign) yield a*2  // (2,4,6,8,10) 이 after에 저장됨.  // yield는 for문에 옵션으로 붙는것으로  //for문 내용의 return값을 저장함.
  • 7. yield 예제  피보니치 수열  출력값 Vector(1, 1, 2, 3, 5, 8, 13, 21, 34, 55 )  For문의 함수의 리턴값을 저장하는것
  • 8. Array 내장 함수  arr.sum  원소들의 총합을 구함.  arr.max / arr.min  원소들 중 최댓값/ 최솟값을 구함  arr.count  원소의 개수를 구함
  • 9. Java와의 연동  Java의 java.util.List(Interface)와 Scala의 scala.collection.mutable.Buffer(Trait)과 상호 변경 가능  예)  val pb = new ProcessBuilder(ArrayBuffer(“ls”, “-ls”, “/home/”))  val 층 : buffer[String] = pb.command()