Assuming that RowID is a long and the column data are Doubles, I would implement this construct as:
import java.util.HashMap;
import java.util.Map;
...
Map<Long, Double[]> table = new HashMap<Long, Double[]>();
To store a row:
Long rowID = 1234L;
table.put(rowID, new Double {0.1, 0.2, 0.3});
To access a row:
Double[] row = table.get(rowID);
Replace Double[] with whatever data type you desire Int[], String[], Object[] ...
You may loop through this data with an iterator:
import java.util.Iterator;
import java.util.Map.Entry;
...
Iterator<Entry<Long, Double[]>> iter = table.entrySet().iterator();
while (iter.hasNext()) {
Entry entry = iter.next();
rowID = entry.getKey();
row = entry.getValue();
};
To iterate the data in the order data was inserted, use LinkedHashMap in place of HashMap.