>>11Arrays are always going to be the most efficient on the machine code level, since storage is contiguous and ordered. To get to the next element in an array, just go to the next memory address (assuming each element is one byte, obviously larger objects in an array have to be handled differently, but it's still pretty simple - if your array has 5 byte elements, just jump ahead 5 bytes to get the next element). With linked lists you have to explicitly follow a pointer to the next element (which may not be contiguous), and unless you have a doubly linked list you won't have any way to go backwards.