我有一个数组(包含字符串的数组)的数组(bigArray)。我需要添加到bigArray另一个数组(如arrayA),但我想检查一个数组是否已经存在。如果存在,我不想添加它。小数组的顺序(例如示例中的arrayX)不会将它们彼此区分开,因此如果我已经有一个数组(例如arrayA)包含相同的数组,但顺序不同(arrayZ,arrayY,arrayX而不是arrayX ,arrayY,arrayZ但具有相同的字符串内容)该数组将不会被添加到大数组中。比较阵列内的数组阵列到另一个阵列的字符串
我该如何做到这一点?
实例:
阵列例如:
-bigArray
--arrayA
----arrayX -> 16,4,5,6,64
----arrayY -> 1,3,6,72,14
----arrayZ -> 13,73,50,34
--arrayB
----arrayX -> 1,4,5,6,4,2
----arrayY -> 1,4,6,12,14
----arrayZ -> 13,33,50,34
小阵列的顺序并不区分它们:
--arrayc
----array -> 16,4,5,6,64
----array -> 1,3,6,72,14
is the same as:
--arrayd
----array -> 1,3,6,72,14
----array -> 16,4,5,6,64
因此arrayD将不被添加到该大阵列。
这真的很有趣。如果我尝试添加'NSSet * setB = [NSSet setWithArray:@ [// arrayC @ [@ 4,@ 1,@ 5,@ 6,@ 4,@ 2],// arrayX @ [@ 1,@ 4,@ 6,@ 12,@ 14],// arrayY @ [@ 13,@ 33,@ 50,@ 34],// arrayZ ]];'to bigSet? (我采取了arrayB,并在arrayX的前两个数字之间切换) – Segev
@Sha在你的问题中,你指定内部集合(或字符串?)保存并比较它们的元素的顺序。因此,如果更改顺序'setB'不会与'bigSet'中的另一个集合相等。 'bigSet'将包含另一个元素。如果你想改变这种行为,只需将内部数组(x,y,z)更改为集。 –
真的很棒的信息。谢谢。 – Segev