美文网首页
iOS array 与 set 的区别

iOS array 与 set 的区别

作者: 某个胖子 | 来源:发表于2016-02-23 17:50 被阅读907次
  • NSSet和NSArray都是对象容器,用于存储对象,属于集合; NSSet , NSMutableSet是无序的集合,在内存中存储方式是不连续的,NSArray是有序的集合,在内存中存储位置是连续的;

  • NSSet和NSArry区别是:在搜索一个一个元素时NSSet比NSArray效率高,主要是它用到了一个算法hash;开发文档中这样解释:You can use sets as an alternative to arrays when the order of elements isn’t important and performance in testing whether an object is contained in the set is a consideration—while arrays are ordered, testing for membership is slower than with sets.
    比如你要存储元素A,一个hash算法直接就能直接找到A应该存储的位置;同样,当你要访问A时,一个hash过程就能找到A存储的位置。而对于NSArray,若想知道A到底在不在数组中,则需要便利整个数组,显然效率较低了;

  • NSSet,NSArray都是类,只能添加cocoa对象,如果需要加入基本数据类型(int,float,BOOL,double等),需要将数据封装成NSNumber类型。

相关文章

  • iOS array 与 set 的区别

    NSSet和NSArray都是对象容器,用于存储对象,属于集合; NSSet , NSMutableSet是无序...

  • java 笔面试第一弹

    目录## 0.Set,List,Map的区别1.Vector 与 Array 的区别2.HashMap 与 Has...

  • Map 、Set&Object、Array

    1. Map和Set是什么? 2. Map和Set与Object和Array有什么区别,为何引入Map和Set? ...

  • 深入JavaScript Day16、17 - Set、Weak

    一、Day16 1、Array和Set最大的区别是什么?Set常见应用是什么? 【区别】Set不能存储重复元素 【...

  • Swift 5.1 (4) - 集合类型

    级别: ★☆☆☆☆标签:「iOS」「Swift 5.1」「Set」「Array」「Dictionary」作者: 沐...

  • Set 与 Array

    今天在ruby_china逛的时候,看到一句话 当涉及到大量String的时候,记得用Set,O(1) vs O(...

  • array与set

  • Set和WeakSet数据结构

    Set的声明 Set和Array 的区别是Set不允许内部有重复的值,如果有只显示一个,相当于去重。虽然Set很像...

  • Swift - 集合 - Set and Dictionary

    Set Set 也是集合的一种,很多方法与Array类似,但似仍然具有一些Array不具备的特性。 Set具有无序...

  • es6 Set 的遍历、性能

    Es6推出了Set、Map等操作。分别对应于之前常用的Array、Object. 就Set而言,与Array最大的...

网友评论

      本文标题:iOS array 与 set 的区别

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