Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Objective C equivalent to Java's ArrayList

Just wondering if there is an equivalent to Java's ArrayList in Objective-C?

Or something that can be used to store objects/data that does not have a set size.

Thanks.

like image 603
Julio Avatar asked Jul 28 '10 14:07

Julio


2 Answers

As others have pointed out, NSArray/NSMutableArray are what you're looking for.

Coming from the Java world, you may find that Cocoa's collection offerings feel quite paltry. In fact, the functionality is quite extensive. The NSArray, NSDictionary, and NSSet are, in fact, class clusters, meaning that the public API is an "abstract" class. When you initialize one of the collections, what you get back is, in fact, a concrete implementation tailored for the data you provide. These implementations can also change the concrete implementation at run time if the data changes (e.g. it grows in size). This is all possible due to Objective-C's much more dynamic run time than Java's static typing (and security) will allow. The class cluster strategy thus hides many of the implementations of, e.g. the java.util.List interface, behind a single API.

The Cocoa frameworks are somewhat limited in compound data structures (i.e. those built on top of "primitive" arrays, sets, and dictionaries). You may find that the excellent, open source CHDataStructures fills in many of the gaps.

like image 62
Barry Wark Avatar answered Oct 07 '22 16:10

Barry Wark


NSMutableArray. You can add objects to it as needed.

like image 40
mipadi Avatar answered Oct 07 '22 18:10

mipadi