in a program they can be used for many of the same purposes, using different syntax
at a lower level, an array is a group of objects laid out in a contiguous block of memory while a list is typically a group of objects where each entry has a pointer to the next entry
To answer your questions
> What is the difference between a list and an array?
due to abstraction in Java list and array, for most applications they are interchangeable
as for the implementation of the VM itself, in a native language such as C or C++, my previous post applies
> Why would you choose a list or an array over the
> other?
tough to give a general answer, usually case by case
for trivial usage this question is answered by syntax preference -- take your pick
> in a program they can be used for many of the same
> purposes, using different syntax
> at a lower level, an array is a group of
> objects laid out in a contiguous block of
> memory while a list is typically a group
> of objects where each entry has a pointer to the
> next entry
This is also nonsense. What you are describing for a list is a linked list, which is a list but does not be any means encompass all of them.