NSDictionary

3824 단어 배열
  • . NSDictionary 의 데이터 저장 원리.
  • . 키 쌍 의 형식 으로 데 이 터 를 저장 합 니 다.
  • . NSDictionary 사전 배열 의 키 쌍 은 여전히 배열 요소 로 저 장 됩 니 다.
  • 키 값 이 1 개 씩 맞습니다. 순서대로 사전 배열 에 저 장 된 것 이 아 닙 니 다.
  • 사전 배열 에 키 값 1 개 를 저장 할 때 이 키 에 따라 해시 알고리즘 1 개 를 만 듭 니 다. 아래 표 시 를 계산 합 니 다.
  • 그리고 키 값 을 아래 표 시 된 요소 에 저장 합 니 다.
  • . 키 를 통 해 값 을 추출 할 때 키 에 따라 1 개의 알고리즘 을 만들어 이 키 값 이 저 장 된 요소 에 대한 아래 표 시 를 계산 합 니 다.
  • 그리고 이 아래 표 시 된 요소 의 값 을 직접 추출 합 니 다.

  •     NSDictionary *dict = @{@"name":@"rose",@"age":@"18",@"gender":@"boy",@"address":@"  "};
    
        dict[@"age"];
    
        NSLog(@"%@",dict);

    대상 을 저장 할 때:
          Person *p1 = [Person personWithName:@"jack" andAge:18];
          Person *p2 = [Person personWithName:@"rose" andAge:18];
          Person *p3 = [Person personWithName:@"lili" andAge:18];
          Person *p4 = [Person personWithName:@"lilei" andAge:18];
          Person *p5 = [Person personWithName:@"hanmeimei" andAge:18];
    
    
    
        NSDictionary *dict = @{p1.name:p1,p2.name:p2,p3.name:p3,p4.name:p4,p5.name:p5};
        dict[@"lilei"];
    

    키 를 통 해 바로 값 을 찾 을 수 있 습 니 다. 효율 이 높 습 니 다.
  • NSArray 배열 저장 데이터:
  • 데 이 터 를 NSArray 배열 에 직접 저장 합 니 다.
  • NSDictionary: 데 이 터 를 저장 하 는 동시에 데이터 에 별명 1 개 를 가 져 오 라 고 요구 합 니 다. 또한 키 값 은 각각 저 장 된 것 이 아 닙 니 다.
  • 데 이 터 를 저장 할 때: NSArray 의 저장 효율 이 상대 적 으로 높 습 니 다. 데 이 터 를 엉덩이 뒤에 직접 저장 하기 때 문 입 니 다.
  • 사전 배열 은 데 이 터 를 저장 할 때마다 하나의 알고리즘 을 만들어 야 한다.
  • 값 을 추출 할 때: 배열 에 저 장 된 데 이 터 를 모두 꺼 내 려 면 이 럴 때 NSArray 의 효율 이 더 높 습 니 다.
  • 직접 꺼 내기 때문에 사전 배열 은 key 를 통 해 값 을 추출 할 때마다 1 개의 알고리즘 을 만들어 야 합 니 다.
  • 배열 에 저 장 된 데 이 터 는 지정 한 몇 개 만 가 져 옵 니 다. 이 럴 때 NSDictionary 의 수치 효율 은 NSArray 보다 높 습 니 다.
  • 언제 NSArray 를 사용 하고 언제 NSDictionary 를 사용 합 니까?
  • . 모두 배열 로 여러 데 이 터 를 저장 하 는 데 사용 된다.
  • . 데이터 가 배열 에 저 장 된 후, 값 을 추출 할 때 모든 값 을 추출 합 니 다. NSArray
  • 가 있 습 니 다.
  • 값 을 뽑 을 때 지정 한 몇 개 만 뽑 으 면 NSDictionary
  • 가 있 습 니 다.

    좋은 웹페이지 즐겨찾기