It keeps a separate, homogeneous data array for each field of the record, each having the same number of elements.
Then, objects located at the same index in each array are implicitly the fields of a single record.
This contrasts with the normal approach of storing all fields of each record together in memory (also known as array of structures or AoS).
However, parallel arrays also have several strong disadvantages, which serves to explain why they are not generally preferred: The bad locality of reference can be alleviated in some cases: if a structure can be divided into groups of fields that are generally accessed together, an array can be constructed for each group, and its elements are records containing only these subsets of the larger structure's fields.
Some compiler optimizations, particularly for vector processors, are able to perform this transformation automatically when arrays of structures are created in the program.