| Java array | can be composed of primitive types and instances of classes |   | 
| contains a fixed number of elements |   | 
has example //the following sums all the elements of an integer array: for(int i=0; i{    sum += anIntArray[i]; }  |   | 
| has length |   | 
| is more efficient than specialized collection classes |   | 
| is object-like but is not a true instance of a class |   | 
| is zero-based which means the first element is element 0 |   | 
| is a subtopic of The Basics of Java |   | 
| is declared by array declaration |   | 
| is not an instance of a class which you can subclass or for which you can write your own code |   | 
| is a kind of Java data type |   | 
| should be avoided if you do not a-priori know the number of items it will contain |   | 
| should not be used to manipulate collections of objects |   | 
| Java data type | has part Java data type name |   | 
| data abstraction | groups the pieces of data that describe some entity, so that programmers can manipulate that data as a unit |   | 
| helps a programmer to cope with the complexity of data |   | 
| hides the details of data |   |