数组中随机取出N个重复或不重复的元素

2019-07-10  本文已影响0人  精神薇

1.数组中随机取出三个元素(有可能重复)

NSArray *array = [[NSArray alloc] initWithObjects:@"A",@"B",@"C",@"D",@"E",nil];
NSMutableArray *randomArray = [[NSMutableArray alloc] init];
 
while ([randomArray count] < 3) {
     int r = arc4random() % [array count];
     [randomArray addObject:[array objectAtIndex:r]];
}

2.数组中随机取出不重复的三个元素,NSMutableSet中无论怎么添加重复的元素都会过滤掉只留一个元素

NSArray *array = [[NSArray alloc] initWithObjects:@"A",@"B",@"C",@"D",@"E",nil];
NSMutableSet *randomSet = [[NSMutableSet alloc] init];
 
while ([randomSet count] < 3) {
    int r = arc4random() % [array count];
    [randomSet addObject:[array objectAtIndex:r]];
}
    
NSArray *randomArray = [randomSet allObjects];
NSLog(@"%@",randomArray);
上一篇 下一篇

猜你喜欢

热点阅读