OC--배열 사전 집합

4336 단어

수조 사전 집합의 차이


동일점: 모두 OC의 용기로 여러 개의 원소를 저장할 수 있으며, 모든 원소는 대상이어야 하며, 대상의 유형은 제한이 없다.
차이점:
1. 장면 사용: 수조: 한 조의 질서정연한 원소 사전을 관리하는 데 사용: 한 조의 대응 관계를 가진 집합 관리: 한 조의 무질서하고 상호이성을 가진 집합을 관리하는 데 사용한다.값 추출 방식 그룹: 인덱스에 따라 값을 추출하는 사전: 키 값에 따라value 값을 가져오는 집합:anyobject는 무작위 값을 가져옵니다

사전에 저장된 데이터는 키-Value가 쌍으로 존재하고 키는 유일한 값이며 키는 하나의Value에만 대응할 수 있습니다.그러나 하나의 밸류는 여러 키에 대응할 수 있고 하나의 키 밸류는 사전의 한 요소를 구성하며 사전은 순서가 없다.


사전


1. 객체 만들기
1.1 초기화 방법 사용
//Value xiaochen  key xc
NSDictionary *dic = [[NSDictionary alloc]initWithObjectsAndKeys:@"xiaochen",@"xc",@"xiaoyun",@"xy",@"xiaohong",@"xh",nil];

1.2 구조기를 옮겨다니는 방식
//Value xiaochen  key xc
NSDictionary *dict = [NSDictionary dictionaryWithObjectsAndKeys:@"xiaochen",@"xc",@"xiaoyun",@"xy",@"xiaohong",@"xh",nil];

1.3 자량
// key  value 
NSDictionary *dicts = @{@"name":@"xiaochen",@"gender":@"man",@"age":@"19"};

2. 사전의 길이를 얻는 방법
    NSUInteger i = dicts.count;
    NSLog(@"%lu",i);//3

3. Key 값에 따라value 값 가져오기
    //value  , key NSCoying , 
    NSString *str = [dicts objectForKey:@"name"];
    NSLog(@"name = %@",str);   // name = xiaochen

    NSString *str1 = [dicts objectForKey:@"gender"];
    NSLog(@"gender = %@",str1);  //gender = man

    NSString *str2 = [dicts objectForKey:@"age"];
    NSLog(@"age = %@",str2);   //age = 19

4. 모든 키 값과 모든value 값 가져오기
    NSArray *arr = [dicts allKeys];  // Key 
    NSLog(@"%@",arr);
    /*(
     name,
     age,
     gender
     )*/
    NSArray *ar =[dicts allValues];// value 
    NSLog(@"%@",ar);
    /*(
     xiaochen,
     19,
     man
     )*/

가변 사전


1. 객체 만들기
1.1 초기화 방법
    NSMutableDictionary *dic = [[NSMutableDictionary alloc]initWithCapacity:10];

1.2 구조기 옮겨다니기
    NSMutableDictionary *dict = [NSMutableDictionary dictionaryWithCapacity:10];

1.3 자량
    NSMutableDictionary *dicts = [@{@"key1":@"value1",@"key2":@"value2"}mutableCopy];
 /*dicts = {
    key1 = value1;
    key2 = value2;
    }
    */

2. 요소 추가
    [dicts setObject:@"value3"forKey:@"key3"];
    NSLog(@"%@",dicts);
    /*{
     key1 = value1;
     key2 = value2;
     key3 = value3;
     }*/

3. value 값 수정
원리: 사전에 대응하는 키 값이 있는지 먼저 찾고 있으면 키에 대응하는value를 수정하고 직접 추가하지 않으면
    [dicts setObject:@"value10"forKey:@"key1"];
    NSLog(@"%@",dicts);
   /* {
        key1 = value10;
        key2 = value2;
        key3 = value3;
    }*/

4. 삭제
    [dicts removeObjectForKey:@"key1"];
    NSLog(@"%@",dicts);
    /* {
     key2 = value2;
     key3 = value3;
     }*/

컬렉션


집합--특징: 무질서한 상호이성
1.1 초기화 방법
    NSSet *set1 =[[NSSet alloc]initWithObjects:@"dic",@"bb",@"cc",@"aa",@"bb",@"cc",nil];
    NSLog(@"%@",set1);
    /*{(
     cc,
     aa,
     bb
     )}*/

1.2 다이어그램 구조기
    NSSet *set2 =[NSSet setWithObjects:@"aa",@"bb",@"cc",@"dd",@"se",nil];
    NSLog(@"4%@",set2);
    /*4{(
     cc,
     dd,
     aa,
     se,
     bb)}*/

2.1 컬렉션의 요소 가져오기
 NSString *str= [set2 anyObject];// 
 NSLog(@"%@",str);
    /* {(
     cc,
     dd,
     aa,
     se,
     bb
     )}*/

3 가변 집합
3.1 초기화 방법
NSMutableSet *set = [[NSMutableSet alloc] initWithCapacity:10];

3.2.요소 추가
    [set addObject:@"dic"];
    [set addObject:@"dd"];
    [set addObject:@"ff"];
    NSLog(@"%@",set);
    /*{(
     dd,
     ff
     )}*/

3, 3 컬렉션 요소 삭제
 [set removeObject:@"ff"];
    NSLog(@"%@",set);
    /*{(
     dd
     )}*/

좋은 웹페이지 즐겨찾기