如何排除连接2个NSArray?

发布于 2024-11-28 19:07:55 字数 55 浏览 0 评论 0原文

我有 2 个对象数组(如 NSArray 的),我想获取第一个对象中不在第二个对象中的对象数组。

I've got 2 arrays of objects (as NSArray's) and I want to get an array of the objects in the first that aren't also in the 2nd.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

幻梦 2024-12-05 19:07:55

请参阅 NSMutableArray 的 -removeObjectsInArray: 方法。

See NSMutableArray's -removeObjectsInArray: method.

温柔戏命师 2024-12-05 19:07:55

1)低效的解决方案。运行一个数组并调用每个对象 containsObject 如果没有则添加元素,否则获取下一个元素

2) 更高效:对两个数组进行排序,然后将它们并排排列。保留对最后添加的对象的引用,然后将下一个组件与该元素进行比较。如果没有匹配,您可以添加一个新的“最后”元素。

3)删除哈希表中的所有元素,然后取出下一个数组的下一个元素并检查是否可以找到“相等”的对象。最后从 HashTable 重建一个数组

4) 将所有元素放入一个 NSSet 中,然后从此 NSSet 重建一个数组

1) Inefficient solution. run over one array and call on each object containsObject if no do add the element otherwise take the next element

2) More efficient: sort both array and then step them side-by side. Keep a reference to the last added object and then compare the next components to this element. If none matches you can add a new "last" element.

3) Drop all the Elements in a HashTable then take the next elements of the next array and check whether you can find an "equal" object. At the end rebuild an Array from the HashTable

4) drop all the elements into an NSSet and after that rebuild an Array from this NSSet

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文