美文网首页
脚踏实地之集合类

脚踏实地之集合类

作者: lmfei | 来源:发表于2020-03-08 11:47 被阅读0次

本文是对OC中常见数据结构的一个记录,希望可以在之后的开发生涯中可以灵活使用这些集合类,而不是只局限于数组、字典这两个集合类!

常见的集合类

常见数据结构有NSArray、NSDictionary、NSSet、NSHashTable、NSMapTable
集合类的特点:以面向对象的方式操作数组,存放的数据类型可以不是同一种数据类型,但是只能存储对象,不能存储基本数据类型如int, struct,enum等

  • NSArray(NSMutableArray) - 有序数组,可以重复
  • NSSet(NSMutableSet) - 无序数组,不允许重复元素存在
  • NSDictionary(NSMutableDictionary) - 以key/value进行数据存储,key要实现NSCopying协议,对保存的value进行强引用
  • NSHashTable - NSSet的通用版本,有更多的内存语义,支持弱引用关系
  • NSMapTable - NSDictionary的通用版本,有更多的内存语义,支持弱引用关系

NSHashTable/NSMapTable常用的内存语义:
NSHashTableStrongMemory/NSPointerFunctionsStrongMemory - 这是默认的管理方式,这样等同于NSSet。
NSHashTableWeakMemory/NSPointerFunctionsWeakMemory - 使用对象的弱引用进行读写操作,当在对象被释放之后会返回NULL
NSHashTableCopyIn/于NSPointerFunctionsCopyIn - 使用copy的方式加入对象

生活如此美好,今天就点到为止。。。

相关文章

  • 脚踏实地之集合类

    本文是对OC中常见数据结构的一个记录,希望可以在之后的开发生涯中可以灵活使用这些集合类,而不是只局限于数组、字典这...

  • Java基础之集合类

    Java基础之集合类 集合类简单介绍 Java集合是Java提供的工具包,包含了常用的数据结构:集合、链表、队列、...

  • Java并发包之ConcurrentHashMap

    之前整理了一份Java中常用的集合类的基本特性:Java常用集合类图解详细介绍了HashMap:HashMap之浅...

  • Java集合

    集合概述 •Java提供集合类,集合类主要负责保存、盛装其他数据,因此集合类也被称为容器类。所有集合类都位于jav...

  • 高并发集合类之CopyOnWrite集合

    集合在高并发情况下读写时,是要加锁的,不管对锁多么优化,肯定不如不加锁的效率高,这是毋庸置疑的。 Co...

  • 14. 集合类

    1. Kotlin的集合类 Kotlin的集合类分为可变集合类和不可变集合类 2. 常用的三种集合类 主要有三种:...

  • Java 容器 - 一文详解HashMap

    Map 类集合 Java Map类集合,与Collections类集合存在很大不同。它是与Collection 类...

  • Java集合类之Collection

    为什么会出现集合类? 我们都知道数组的弊端是长度固定。这样一来,数组就不能满足变化的要求。所以,Java就提供了集...

  • Java之集合工具类

    常用工具类 Collections常用工具Arrays常用工具Iterator迭代器用法 1. Collectio...

  • Collection 集合类

    Collection 集合类 java.util包中提供了一些集合类,这些集合类又称为容器;集合类和数组的区别在于...

网友评论

      本文标题:脚踏实地之集合类

      本文链接:https://www.haomeiwen.com/subject/wfmnrhtx.html