2 개의 어레이가 있습니다. 하나는 600 개의 개체로 이루어진 대규모 정적 그룹이고 다른 하나는 10 개의 개체로 이루어진 작은 그룹입니다.NSArray - 배열에 객체가 있는지 확인 하시겠습니까?
두 그룹간에 공통된 개체를 가져 와서 새 배열에 넣고 싶습니다.
큰 그룹에 1 ~ 600의 600 개의 개체가 포함되어 있습니다. 작은 그룹에는 1, 2, 3, 4, 5, 6, a, b, c의 9 개의 개체가 포함됩니다. 객체 1, 2, 3, 4, 5, 6을 포함하는 새로운 배열을 만들 수 있기를 원합니다.
가장 좋은 방법은 무엇입니까? 당신은 다시 결과 배열을 정렬해야 뭔가
NSMutableSet *intersection = [NSMutableSet setWithArray:smallArray];
[intersection intersectSet:[NSSet setWithArray:bigArray];
NSArray *result = [NSArray arrayWithSet:intersection];
처럼
이는 NSSet를 들어, 각 세트의 모든 개체가 고유해야한다는주의와 좋은 제안입니다 ...이 게시물이 시작 유용 될 수 있기를 바랍니다. 배열에 중복 값이있는 경우 [0,1,2,3,2,4], NSSet은 작동하지 않습니다. – TechZen
반대로, NSSet은 (배열을 추가 할 때) 중복을 추가하지 않기 때문에 매우 유용합니다. 도움 주셔서 감사합니다. ComSubVie 및 MrMage. 그것 모두는 지금 일하고있다. –
문제 공간에 따라 다릅니다. 얼마나 많은 중복이 존재하는지 기록하고 싶다면, 같은 객체/아이템의 복제물이더라도 NSSet은 작동하지 않습니다. – TechZen