Arrays are a collection of similar type of data that is fixed in size. The main advantage of arrays is that one variable can store multiple values, code is optimized by not needing multiple variables of the same type, and random access allows retrieval of any data by index value. The main limitation is that the size of an array cannot be increased or decreased once declared. There are single dimensional and multidimensional arrays, and arrays are created using the new keyword by specifying the size. Elements are accessed using their index value within brackets.