OC5_NSDictionary_NSSet

本文详细介绍了Objective-C中的字典与集合概念,包括不可变与可变字典的初始化、键值对操作及遍历方法,同时涵盖了NSSet与NSMutableSet的特点与使用技巧。


字典 

 

一、不可变字典


1.初始化(唯一不同:先value 后key)

initWithObjectsAndKeys:

dictionaryWithObjectsAndKeys:


2.字典的键值对数

count


3.取值

objectForKey:


4.取得所有的 key 和 value

allKeys

allValues


二、可变字典


1.初始化

initWithCapacity:1

dictionaryWithObjectsAndKeys:


2.给字典添加键值对、对现有键值对更改

setObject:  forKey:


3.对字典的某个key移除

removeObjectForKey:


4.遍历字典

    

    //字典是无序的,也没有下标

    

    // 先把所有的key存入数组

    

    //对字典遍历其实就是对 key数组的遍历

   NSArray *keys = [mutableDicallKeys];

    

   for (int i =0; i < [keyscount]; i++) {

        

       NSString *key = [keysobjectAtIndex:i];

        

       NSString * value = [mutableDicobjectForKey:key];

        

       NSLog(@"key: %@, value: %@", key, value);

    }




5.快速取值 (有点像数组取值)

    NSString *valuess = mutableDic[@"yaojie"];

    

   NSLog(@"%@", valuess);




/********** 字典 *****************/

    

    

    // 不可变字典

    

    // 字典的初始化

    NSDictionary *dic = [[NSDictionary alloc] initWithObjectsAndKeys:@"value", @"key", nil];

    

    NSDictionary *dic1 = [NSDictionary dictionaryWithObjectsAndKeys:@"value", @"key", nil];

    

    

    

    // 字典的键值对个数

    NSUInteger count = [dic count];

    

    // 取得存储的一个值, 字典通过key取相应的值

    NSString *value = [dic objectForKey:@"key"];

    

    // 获得字典所有的key

    NSArray *allKeys = [dic allKeys];

    

    // 获得字典所有的value

    NSArray *values = [dic allValues];

    

    

    // 一个字典里面,一个key只能对应一个value  一个value可以有多个key对应

    // 也就是说, key不能重复, value可以重复

    

    

    

    // 可变字典

    

    // 初始化

    

    NSMutableDictionary *mutDic = [NSMutableDictionary dictionaryWithObjectsAndKeys:@"value", @"key", nil];

    

    NSMutableDictionary *mutDic1 = [NSMutableDictionary dictionaryWithCapacity:1];

    

    NSMutableDictionary *mutDic2 = [[NSMutableDictionary alloc] initWithCapacity:1];

    

    NSMutableDictionary *mutDic3 = [[NSMutableDictionary alloc] initWithObjectsAndKeys:@"value", @"key", nil];

    

    

    // 添加一个键值对 或者 对现有的键值对进行修改

    [mutDic setObject:<#(id)#> forKey:<#(id<NSCopying>)#>];

    

    

    // 对字典某个key进行移除

    [mutDic removeObjectForKey:<#(id)#>];

    

    

    

    

    // 遍历字典

    

    // 字典是无序的,没有下标,要想遍历字典就要 先把所有key存入数组

    // 对字典遍历 其实就是对 key数组的遍历

    

    NSArray *keys = [mutDic allKeys];

    

    for (int i = 0; i < [keys count]; i++) {

        

        NSString *key = [keys objectAtIndex:i];

        

        NSString *value = [mutDic objectForKey:key];

        

        NSLog(@"key: %@, value: %@", key, value);

    }

    

    

    

    

    // 快速取值

    

    NSString *valuess = mutDic[@"key"];

    







集合




  ************** 集合 *****************

    

      NSSet  NSMutableSet

    

     特点:1.不重复  2.无序   3.存储元素必须是对象类型

    

    

    // 如果有重复的,也只会显示一个

   NSSet *set = [[NSSetalloc]initWithObjects:@"5",@"8",@"2",@"4", @"6",@"6", nil];

    

   NSLog(@"%@", set);

    

    //统计集合元素个数

   NSUInteger setCount = [setcount];

   NSLog(@"%ld", setCount);

    

    

    // 在集合中取值

   NSString *setObject = [setanyObject];

   NSLog(@"%@", setObject);

    

    

    //集合中是否包含某个对象

   BOOL resultSet = [setcontainsObject:@"0"]; 

   NSLog(@"是否包含: %d", resultSet);




  二、 可变集合

    

//    NSMutableSet *mutableSet = [[NSMutableSet alloc] initWithCapacity:1];

    

//    NSMutableSet *mutableSet = [[NSMutableSet alloc] initWithObjects:@"22", @"222", nil];

    

   NSMutableSet *mutableSet = [NSMutableSetsetWithCapacity:1];

        

    

    //给可变集合增加一个元素

    [mutableSetaddObject:@"2222"];

   NSLog(@"%@", mutableSet);

    

       

    // 移除

    [mutableSetremoveObject:@"22"];

   NSLog(@"%@", mutableSet);





在车辆工程中,悬架系统的性能评估和优化一直是研究的热点。悬架不仅关乎车辆的乘坐舒适性,还直接影响到车辆的操控性和稳定性。为了深入理解悬架的动态行为,研究人员经常使用“二自由度悬架模型”来简化分析,并运用“传递函数”这一数学工具来描述悬架系统的动态特性。 二自由度悬架模型将复杂的车辆系统简化为两个独立的部分:车轮和车身。这种简化模型能够较准确地模拟出车辆在垂直方向上的运动行为,同时忽略了侧向和纵向的动态影响,这使得工程师能够更加专注于分析与优化与垂直动态相关的性能指标。 传递函数作为控制系统理论中的一种工具,能够描述系统输入和输出之间的关系。在悬架系统中,传递函数特别重要,因为它能够反映出路面不平度如何被悬架系统转化为车内乘员感受到的振动。通过传递函数,我们可以得到一个频率域上的表达式,从中分析出悬架系统的关键动态特性,如系统的振幅衰减特性和共振频率等。 在实际应用中,工程师通过使用MATLAB这类数学软件,建立双质量悬架的数学模型。模型中的参数包括车轮质量、车身质量、弹簧刚度以及阻尼系数等。通过编程求解,工程师可以得到悬架系统的传递函数,并据此绘制出传递函数曲线。这为评估悬架性能提供了一个直观的工具,使工程师能够了解悬架在不同频率激励下的响应情况。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值