Object-C NSSet类型

Nsset也是一种集合,它和数组,字典一样只能存放对象类型的数据。

set集合中不能存放相同的对象,它的元素是互不相同的,而且是无序存放的。

注意:set集合中可以存放相同的元素,但在运行后会把相同的元素只留一个。如下:
set集合中不能存放nil,因为nil是一个set结束的标志。
//创建一个NSSet对象

NSSet *set=[NSSet setWithObjects:@"1",@"2",@"1",@"3",@"4",@"2",@"5",@"3", nil];

        NSLog(@"%@",set);
运行结果如下:2015-10-29 08:02:53.481 10.29.1[558:15953] {(
    3,
    4,
    5,
    1,
    2
)}
NSMutableSet常用的方法:
NSMutableSet *set1=[NSMutableSet set];//创建空集合
        NSMutableSet *set2=[NSMutableSet setWithCapacity:10];
        [set1 addObject:@""];//添加元素
        [set1 removeObject:@""];//删除元素
时间: 2024-10-29 03:43:31

Object-C NSSet类型的相关文章

NSSet类型 以及与NSArray区别

NSSet到底什么类型,其实它和NSArray功能性质一样,用于存储对象,属于集合: NSSet  , NSMutableSet类声明编程接口对象,无序的集合,在内存中存储方式是不连续的,不像NSArray,NSDictionary(都是有序的集合)类声明编程接口对象是有序集合,在内存中存储位置是连续的: NSSet和我们常用NSArry区别是:在搜索一个一个元素时NSSet比NSArray效率高,主要是它用到了一个算法hash(散列,也可直译为哈希):开发文档中这样解释:You can use

通过反射得到object[]数组的类型并且的到此类型所有的字段及字段的值

private string T_Account(object[] list) { StringBuilder code = new StringBuilder(); //得到数据类型 Type t = list[0].GetType(); List<string> str = new List<string>(); //得到类型的所有字段 FieldInfo[] fields = t.GetFields(BindingFlags.NonPublic | BindingFlags.

object和其他类型装换的问题

using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace ConsoleApplication1 { class A { public int a = 2; public void f(object obj) { Console.WriteLine("{0}", obj);//这儿不需要强制转换的 Console.WriteLine("{0}&

type object pointer(类型对象指针)

都知道.NET是一个强对象类型的框架. 那么对于对象类型又是怎么确定的呢. 最初的我简单认为数据的类型就是定义时字段的类型修饰决定的(回来发现这种观点是绝对错误的) 我们知道引用对象存储在托管堆栈中,而变量本身是存储着对象的地址的.而对象的类型到底是存储在什么地方的呢. 先看一段简单的代码 private static void Gt() { dynamic dyn = (object)(new int[] { 1, 2, 3, 4, 5, 6, 7 }); object obj = new i

js判断object的具体类型(或者说判断object的类class)

The JavaScript specification gives exactly one proper way to determine the class of an object: Object.prototype.toString.call(t); http://bonsaiden.github.com/JavaScript-Garden/#types https://stackoverflow.com/questions/7893776/the-most-accurate-way-t

Object -C NSSet -- 笔记

// //  main.m //  NSSET // //  Created by facial on 25/8/15. //  Copyright (c) 2015 facial_huo. All rights reserved. // #import <Foundation/Foundation.h> int main(int argc, const char * argv[]) { @autoreleasepool { // insert code here... NSLog(@&quo

java中Object转换成int或String类型方法

转载: http://www.cnblogs.com/1020182600HENG/p/6137206.html Object obj = getObject(); if(obj instanceof Integer) int value = (Integer)obj; 1 String转换为int类型的方法: 1. Integer.parseInt([String]) 2.Integer.valueOf([String]).intValue(); 3.Integer.decode([Strin

第4章 类型基础 -- 4.1 所有类型都从System.Object派生

4.1 所有类型都从System.Object派生 “运行时”要求每个类型最终都从System.Object类型派生. 由于所有类型最终都从System.Object派生,所以每个类型的每个对象都保证了一组最基本的方法. System.Object类提供了如下表所示的公共实例方法: 表4-1 System.Object的公共方法 Equals 若两个对象具有相同的值,就返回 true .详情请参考"对象相等性和同一性" GetHashCode 返回对象的值的哈希码.如果某个类型的对象要

是否存在不继承自System.Object类型的类

分析问题 可能读者的固有思维认为.NET中所有的类型都必须继承自System.Object,这样的认识过于绝对,且不完全正确.在.NET中,.NET设计小组为中间语言的编译器ILasm.exe添加了noautoinherit开关,当这个开关被打开时,编译器将不会默认年地把类型认为继承自System.Object. 首先介绍一下中间语言的编译工具:ILasm.exe.这是.NET Framework提供的一个编译工具,它的作用是把中间语言(MSIL)编译成可执行的PE文件.该工具非常有用,它不仅使