У меня есть массив (большой массив из примера), который содержит многократные массивы, содержащие строки. Мне нужно добавить в 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