6. Swift 튜플 (Tuple)

Swfit 2017. 8. 4. 11:46

6. Swift 튜플 (Tuple)

  • 튜플은 스위프트에서 제공하는 특별한 성격의 집단 자료형으로서, 파이썬에서도 사용되는 자료형이다. 튜플은 한가지 타입의 아이템만 저장할 수 있는 배열이나 딕셔너리와는 달리 하나의 튶르에 여러 가지 타입의 아이템을 저장할 수 있지만, 일단 선언되고 나면 상수적 성격을 띠므로 더 이상 값을 추가하거나 삭제하는 등의 변경이 불가능하다. 즉, 타입의 관계없이 다양하게 저장할 수 있지만 오직 최최의 선언된 상태의 아이템만 사용할 수 있고 수정이나 삭제, 추가 등 변경할 수 없는 것이 튜플의 특징이라고 할 수 있다.

예)1.
var color = (“red”,”blue”,”yellow”,”black”)
color.0 = “red”
color.1 = “blue:
color.2 = “yellow”
color3 = “black”

예)2.
var tpl01 : (Int, Int) = (100) , (100)
var tpl02 : (Int,Sting, Int) = (100) , (“ddd”) ,  (100)

예)3.
let tupleValue:(String , Character, Int , Float, Bool) = (“a” , “b” , 1 , 2.5 , true)
let (a,b,c,d,e) = tupleValue

//a = “a”
//b = “b”
//c = 1
//d = 2.5
//e = true 


'Swfit' 카테고리의 다른 글

8. Swift 함수(Function)  (0) 2017.08.04
7. Swift 옵셔널 (Optional)  (0) 2017.08.04
5. Swift 집합 (Sets)  (0) 2017.08.04
4. Swift 배열 (Array)  (0) 2017.08.04
3. Swift 연산자  (0) 2017.08.04

설정

트랙백

댓글

5. Swift 집합 (Sets)

Swfit 2017. 8. 4. 11:45

5. Swift 집합 (Sets)


  • 집합은 같은 타입의 서로 다른 값을 중복 없이 저장하고자 할 때 사용하는 집단 자료형이다. 배열과 많이 유사 하지만 배열을 사용하기에는 순서가 그다지 중요하지 않은 데이터들이거나 중복 없이 한 번만 저장되어야 하는 데이터들을 다룰 때 배열 대신 사용 할 수 있는 자료형이다.


//배열을 집합으로 변환

var generes = Set<String>( )

if genres.isEmpty {
    print(“집합이 비어있다.”)
}else{
    print(“집합에는 현재 (genres.count) 개의 아이템이 저장되어 있다”)


// 집합에 데이터 추가
var genres : Set = [“aaa”,”bbb”,”ccc”]

for g in genres {
    print(“\(g)”)
}

// aaa
   bbb
   ccc



// 집합의 데이터 삭제
var genres : Set = [“aaa”,”bbb”,”ccc”]

if let removedItem = genres.remove(“ccc”){
    print(“아이템 \(removedItem) 의 삭제가 완료 되었습니다.)
}else {
    print(“삭제할 값이 집합에 추가되어 있습니다.”)
}

generes.removeAll() 집합의 모든 값 삭제



// 집합의 연산
var oddDigits : Set = [1,3,5,7,9,] //홀수 집합
let evenDigits : Set = [0,2,4,6,8] //짝수 집합
let primeDigits : Set = [2,3,5,7] //소수 집합

  • intersection : 두 집합의 공통된 부분만 선택하여 집합을 만들어 준다.
oddDigits.intersection(evenDigits).sorted( ) 
// 결과값 [ ]   -> 비어있음
// oddDigits 과 evenDigits 의 공통된 부분이 없어 집합이 만들어 지지 않았다.

  • symmetricDifference : 두 집합의 공통된 부분만 선택하여 집합을 만들어 준다.
oddDigits.symmetricDifference(primeDigits).sorted( ) 
// 결과값 [1,2,9 ] 
// oddDigits 과 primeDigits 양 쪽의 집합에서 공통된 부분만 빼고 나머지를
   선택하여 집합으로 만들어 준다.

  • union : 두 집합의 모든 부분을 선택하여 집합을 만들어 준다.
oddDigits.symmetricDifference(evenDigits).sorted( ) 
// 결과값 [0,1,2,3,4,5,6,7,8,9] 
// oddDigits 과 evenDigits 양 쪽의 집합의 모든 부분을 집합으로 만들어 준다.

  • subtract : 한쪽 집합의 모든 아이템 에서 다른 집합과 공통된 부분을 뺀 나머지 부분의 집합니다.
oddDigits.subtract(primeDigits)
oddDigits.sorted()
// 결과값 [1,9]
// oddDigits 에서 primeDigits 과의 공통된 부분을 뺀 나머지 집합이다.



'Swfit' 카테고리의 다른 글

7. Swift 옵셔널 (Optional)  (0) 2017.08.04
6. Swift 튜플 (Tuple)  (0) 2017.08.04
4. Swift 배열 (Array)  (0) 2017.08.04
3. Swift 연산자  (0) 2017.08.04
2. Swift 기본 문법  (0) 2017.08.04

설정

트랙백

댓글

4. Swift 배열 (Array)

Swfit 2017. 8. 4. 11:44

4. Swift 배열 (Array)

  • 배열은 일련의 순서를 가지는 리스트 형식의 값을 저장하는 자료형 이다.
  • 배열에 입력되는 개별 아이템들은 모두 각각의 순서가 있고 이순서를 일련번호, 즉 인덱스 라고 부른다.
  • 0부터 시작 하여 아이템이 추가될 때마다 차례로 증가한다.
  • 배열에 저장할 아이템의 타입에는 제약이 없지만 , 하나의 배열에 저장하는 아이템 타입은 모두 같아야 한다.
  • 선언 시 배열에 저장할 아이템 타입을 명확히 정의해야 함.
  • 배열의 크기는 동적으로 확장할 수 있음

  1. 배열의 선언과 할당
            var cities = [“서울”,”뉴욕”,”부산”]
            // 변수 cities 에 서울,뉴욕,부산 배열이 할당 되어서 추가되는 배열의 값은 문자열 값만 
추가 될 수 있다.
            
  1. 리터럴(Literal)
            -리터럴은 값 자체를 이야기합다. 값이 변수나 상수에 담긴 형태가 아니라 그에 저장되는 
      값 자체를 리터럴이라고 한다. 아래 예에서 180이라는 값 자체가 리터럴이다. 

             let size = “180”    //사이즈 변수에 180이라는 리터럴 대입

var name:[String] = ["설현","김사랑","강민경"]
for row in name {
    let index = name.index(of: row)
    print("\(index) 의 데이터는 \(row)")
}

Optional(0 데이터는 설현
Optional(1 데이터는 김사랑
Optional(1 데이터는 강민경 


  • 배열 선언형태
  1. var name = [String]( )
  2. var name : [String]
  3. name = [String]( )
  4. name = [ ]    
  5. var name:String = [ ]

  • 배열 아이템 동적 추가
  1. apend
    1. name.append(“성소”)
  2. insert
    1. name.insert(“미나” , at 1)  // 설현 , 미나 , 김사랑 , 강민경
  3. append(contentsOf)
    1. name.append( contentsOf : [ “하니”,”소율” ] )
               // ["설현", "미나", "김사랑", "강민경", "하니", "소율"]

name[0…2] //  ["설현", "미나", “김사랑"]


✅ 배열 순회 탐색 방법


        let arr = ["11","22","33","44","55"]

        let arr2 = ["a","b","c","d","e"]

        let arr3 = ["가","나","다","라","마"]

                    

        for i in 0..<arr.count {

            print(arr[i])

        }

        

        for j in arr2 {

            print(j)

        }

        

        for row in arr3 {

            let index = arr3.index(of: row)

            print("\(index!)번째 배열 원소는 \(row) 입니다.")

        }


결과 값


11

22

33

44

55


a

b

c

d

e


0번째 배열 원소는 입니다.

1번째 배열 원소는 입니다.

2번째 배열 원소는 입니다.

3번째 배열 원소는 입니다.

4번째 배열 원소는 입니다.


'Swfit' 카테고리의 다른 글

6. Swift 튜플 (Tuple)  (0) 2017.08.04
5. Swift 집합 (Sets)  (0) 2017.08.04
3. Swift 연산자  (0) 2017.08.04
2. Swift 기본 문법  (0) 2017.08.04
1. Swift 특징 및 주요 기능  (0) 2017.08.04

설정

트랙백

댓글