6.6.10 Vectors

Vectors are sequences of Scheme objects. Unlike lists, the length of a vector, once the vector is created, cannot be changed. The advantage of vectors over lists is that the time required to access one element of a vector given its position (synonymous with index), a zero-origin number, is constant, whereas lists have an access time linear to the position of the accessed element in the list.

Vectors can contain any kind of Scheme object; it is even possible to have different types of objects in the same vector. For vectors containing vectors, you may wish to use Arrays instead. Note, too, that vectors are a special case of one dimensional non-uniform arrays and that array procedures operate happily on vectors.

Also see SRFI-43 - Vector Library, R6RS Support, or R7RS Support, for more comprehensive vector libraries.