NSArray and NSMutableArray

An NSArray holds an immutable list of objects. An NSMutableArray holds a mutable list of objects.

Example
NSArray *letters;
letters = [[NSArray alloc]
  initWithObjects:@"A",@"B",@"C",nil];

letters = [NSArray
  arrayWithObjects:@"A",@"B",@"C",nil];

Common methods:
count
objectAtIndex:

NSMutableArray *letters;
letters = [NSMutableArray
   arrayWithCapacity:20];
or
letters = [[NSMutableArray alloc]
   initWithCapacity:20];



Example:

NSMutableArray *letters;
letters = [NSMutableArray
   arrayWithCapacity:20];

[letters addObject:@"A"];
[letters addObject:@"B"];
[letters addObject:@"C"];
[letters addObject:@"D"];

for (int i=0; i<[letters count]; i++) { NSString *letter = [letters objectAtIndex:i]; // do what ever with the letter }
Useful methods:
[letters addObject:object];
[letters insertObject:object atIndex:i];

[letters removeObjectAtIndex:i];
[letters removeAllObjects];
[letters removeObjectAtIndex:i];
[letters replaceObjectAtIndex:i
   withObject:object];