陈斌彬的技术博客

Stay foolish,stay hungry

NSSet 与 NSMutableSet

NSSet / NSMutableSet  -无序集合,NSOrderedSet / NSMutableOrderedSet  -有序集合

NSSet *immutableSet = [ [ NSSet alloc ]  initWithObjects : object1, object2, object3, nil ] ;

NSMutableSet *mutableSet = [ NSMutableSet  setWithSet : immutableSet ] ;

[ mutableSet  addObject : object4 ] ;

[ mutableSet  removeObject : object3 ] ;

p.s.  当 对象被重复加入set时,set只会取一次

NSSet *setOfNumbers = [ NSSet setWithArray : @[ @3, @4, @1, @10, @9] ] ;  //无序打印,随机显示集合内的元素,即第0位不一定是3

NSOrderedSet *orderedSetOfNumbers = [ NSOrderedSet  orderedSetWithArray :  @[ @3, @4, @1, @10, @9] ] ;  //有序打印,按集合内的元素顺序显示

NSMutableOrderedSet  *mutableOrderedSet = [ NSMutableOrderedSet  orderedSetWithArray :  @[ @3, @4, @1, @10, @9] ] ;

[ mutableOrderedSet  removeObject : @3 ] ;

[ mutableOrderedSet  addObject : @0 ] ;  // 在末尾加 

[mutableOrderedSet  exchangeObjectAtIndex : 1  withObjectAtIndex : 2 ] ;