Object-C,NSSet,可変集合
また夜になって、コードを続けます.
その时、お父さんは1つの电话"海が広くて鱼に頼って跃って、天が高くて鸟が飞ぶことを任せます"、お父さんは古い问题のために私に迷惑をかけていません.
自由になって、急にプレッシャーが大きいですね.
将来混ざりすぎてどうしよう~
1つ目の例は,不変集合である.
Set集合、概念は通用して、Javaの中のjavaとにほかならない.util.Set構文が一致せず,メソッドの個数が一致しないだけである.
集合の核心的特徴は,要素が繰り返されないことであり,要素のhashCodeとequalsメソッドに基づいて繰り返されるかどうかである.
コード#コード#
実行結果
2015-12-03 20:16:52.049 NSSetTest[5903:419290] The set1 count :3
2015-12-03 20:16:52.050 NSSetTest[5903:419290] The set1 :[A, B, C]
2015-12-03 20:16:52.050 NSSetTest[5903:419290] The new set1 :[A, B, C]
2015-12-03 20:16:52.051 NSSetTest[5903:419290] The set2 :[A, B, C]
2015-12-03 20:16:52.051 NSSetTest[5903:419290] The set1 is subSet of set2:1
2015-12-03 20:16:52.051 NSSetTest[5903:419290] The set1 has C:1
Program ended with exit code: 0
現在の学習の進度によって、2017年までにObject-CとiOSを初歩的に把握していれば、問題はありません.
その时、お父さんは1つの电话"海が広くて鱼に頼って跃って、天が高くて鸟が飞ぶことを任せます"、お父さんは古い问题のために私に迷惑をかけていません.
自由になって、急にプレッシャーが大きいですね.
将来混ざりすぎてどうしよう~
1つ目の例は,不変集合である.
Set集合、概念は通用して、Javaの中のjavaとにほかならない.util.Set構文が一致せず,メソッドの個数が一致しないだけである.
集合の核心的特徴は,要素が繰り返されないことであり,要素のhashCodeとequalsメソッドに基づいて繰り返されるかどうかである.
コード#コード#
//
// main.m
// NSSetTest
//
// Created by fansunion on 15/12/3.
// Copyright (c) 2015 demo. All rights reserved.
//
#import <Foundation/Foundation.h>
// , Array NSSet
NSString* NSCollectionToString(id collection){
NSMutableString* str = [NSMutableString stringWithString:@"["];
// for-each ,
for(id obj in collection){
[str appendString:[obj description]];
[str appendString:@", "];
}
// , 2
NSUInteger length = [str length];
[str deleteCharactersInRange:NSMakeRange(length-2, 2)];
[str appendString:@"]"];
return str;
}
//NSSet , NSMutableSet。
// NSArray,NSMutableArray
int main(int argc, const char * argv[]) {
@autoreleasepool {
// 4 , 2
NSSet* set1 = [NSSet setWithObjects:@"A", @"B",@"C",@"B",nil];
NSLog(@"The set1 count :%ld",[set1 count]);
NSLog(@"The set1 :%@",NSCollectionToString(set1));
//set1
NSSet* set2 =[set1 setByAddingObject:@"D"];
NSLog(@"The new set1 :%@",NSCollectionToString(set1));
NSLog(@"The set2 :%@",NSCollectionToString(set1));
BOOL isSubSet =[set1 isSubsetOfSet:set2];
NSLog(@"The set1 is subSet of set2:%d",isSubSet);
BOOL have = [set1 containsObject:@"C"];
NSLog(@"The set1 has C:%d",have);
}
return 0;
}
実行結果
2015-12-03 20:16:52.049 NSSetTest[5903:419290] The set1 count :3
2015-12-03 20:16:52.050 NSSetTest[5903:419290] The set1 :[A, B, C]
2015-12-03 20:16:52.050 NSSetTest[5903:419290] The new set1 :[A, B, C]
2015-12-03 20:16:52.051 NSSetTest[5903:419290] The set2 :[A, B, C]
2015-12-03 20:16:52.051 NSSetTest[5903:419290] The set1 is subSet of set2:1
2015-12-03 20:16:52.051 NSSetTest[5903:419290] The set1 has C:1
Program ended with exit code: 0
現在の学習の進度によって、2017年までにObject-CとiOSを初歩的に把握していれば、問題はありません.