1.oc的陣列成員是任意的物件指標 與c中的鍊錶結構類似(以nil結尾) 一切的陣列操作不能越界
oc的陣列分為不可變陣列 nsarray 可變陣列 nsmutablearray
nsarray * array = [[nsarray alloc]initwithobjects:@2.不可變陣列"one"
,@"two"
,@"three"
, nil];
nslog(@"%@"
,[array objectatindex:0]);
//通過下標獲取陣列成員(下標從0開始)
nslog(@"%ld"
,[array count]);
//獲取陣列有效成員個數 (不包括nil)
for(i = 0; i < [array count]; i++)
nslog(@"%@"
,array);
//(oc)檢視陣列內容(先給array傳送description訊息,然後給每個成員都傳送乙個description訊息)
nsarray * array1 = [[nsarray alloc]initwitharray:array];//建立陣列物件 相當於拷貝
nsarray * arry2 = [nsarray arraywitharray:array];//建立陣列物件 相當於拷貝
nsenumerator * enumer = [array objectenumerator];//正序列舉器
//建立乙個列舉器 把陣列的每個元素的位址一次賦給列舉器,然後建立起某種關聯 (列舉器只能用來讀數組成員)
//列舉時 會和陣列建立某種關聯(修改監視器/迭代器) 限制列舉的同時不能修改元素 只能讀不能寫
id obj;
//第一次迴圈把陣列的第乙個元素賦給obj 第二次迴圈把第二個陣列元素賦給obj
while
(obj = [enumer nextobject])
//快速列舉 第一次迴圈把array的第乙個元素賦給ob 第二次迴圈把array的第二個元素賦給ob 直到nil(只能讀不能改)
for(id ob in array)
//逆序輸出陣列(建立逆序列舉器 第一次迴圈把最後乙個元素賦給obj )
nsenumerator * enumer1 = [array reverseobjectenumerator];
while
(obj = [enumer1 nextobject])
if([obj iskindofclass:[dog
class
]])
//獲取類的型別 判是否是指定類的物件
if([obj ismemberofclass:[dog
class
]])
-------查詢3.可變數nsarray * array = [[nsarray alloc]initwithobjects:@"one"
,@"two"
,@"three"
,@"one"
, nil];
nsuinteger index = [array indexofobject:@"one123"
];//返回第乙個找到的陣列成員對應的下標 找不到返回nsnotfound
index = [array indexofobject:@"one"
inrange:nsmakerange(1, 3)];
//在指定範圍內查詢
if(index != nsnotfound)
----抽取 組成新的陣列
nsarray * array1 = [array objectsatindexes:[nsindexset indexsetwithindexesinrange:nsmakerange(1, 3)]];
《數字集合》
nsindexset這是個數字集合類
[nsindexset indexsetwithindexesinrange:nsmakerange(1, 3)]產生乙個數字集合
nsmutablearray * array = [[nsmutablearray alloc]initwithobjects:@4.字串分割與拼接"one"
,@"two"
,@"three"
,@"four"
, nil];
[array addobject:@"five"
];//在陣列尾部插入元素
[array insertobject:@"six"
atindex:5];
//在陣列指定下標位置插入元素(不能越界,最大值為length)
[array removeobject:@"six"
];//刪除指定元素(陣列中出現的所有位置都將被刪除)
[array removeobject:@"two"
inrange:nsmakerange(0, 3)];
//從指定下標位置開始的指定長度內刪除指定元素
[array removelastobject];//刪除最後乙個元素
[array removeallobjects];//刪除所有元素
[array replaceobjectatindex:3 withobject:@"ios"
];//將指定下標位置元素替換為指定的元素
[array exchangeobjectatindex:0 withobjectatindex:3];//將指定下標的兩個元素進行交換
//@"" 空的字串物件-------分割
nsstring * ptr = @"i am a man"
; nsarray * array = [ptr componentsseparatedbystring:@" "
];//將字串整體作為分割條件 返回值為nsarray不可變陣列
nsmutablearray * array1 = [nsmutablearray arraywitharray:array];//若修改,則將nsarray轉化為nsmutablearray
nsarray * array2 = [ptr componentsseparatedbycharactersinset:[nscharacterset charactersetwithcharactersinstring:@", "
]];//以字串中的字元作為分割條件進行分割
《字元集合》
nscharacterset 這是個字元集合類
[nscharacterset charactersetwithcharactersinstring:@", "
]//把字串轉化為字元集合
-------拼接
nsstring * str = [array componentsjoinedbystring:@" "
];
若分割條件出現在開頭或者結尾,則會出現空串@""
,如果不需要,則需要轉化成nsmutablestring對空串進行處理
func1: [array1 removeobject:@""
];
//找到空串直接刪除
func2: for
(id obj in array1)
OC 陣列以及字串拼接與分割
1.oc的陣列成員是任意的物件指標 與c中的鍊錶結構類似 以nil結尾 一切的陣列操作不能越界 oc的陣列分為不可變陣列nsarray 可變陣列nsmutablearray nsarray array nsarray alloc initwithobjects one two three nil n...
Python 分割字串與拼接字串
號 實現字串連線 zhrq 95 zhrq95 a 95 b zhrq print b a 注 是反引號,因為其容易看錯,此方法不推薦 zhrq95 print b str a zhrq95 print b repr a repr a 與上面的類似 zhrq95 split 這個函式的作用是將字串根...
c 拼接字串陣列 陣列 字串拼接
題目描述輸入乙個正整數陣列,把陣列裡所有數字拼接起來排成乙個數,列印能拼接出的所有數字中最小的乙個。例如輸入陣列,則列印出這三個數字能排成的最小數字為321323。public class solution 交換的值不是拼接後的兩個相鄰字串 if before after for int i 0 i...