Глядя на ваш пример, я сделаю предположение, что имя уникально.Поскольку у вас есть смешанные типы, строки и целые числа, вы не можете поместить их все в один массив, если не сохраните целые числа как строки.Одним из решений было бы создание объекта, который содержит имя и связанные с ним данные ... это, в конце концов, то, что каждый делает в объектно-ориентированном программировании.
За исключением того, что я буду хранить данные на карте,где имя - это ключ, а массив int - это значение:
HashMap<String, int[]> myMap = new HashMap<String, int[]>();
String name;
int[] myData;
while(rs.next())
{
myData = new int[5];
name = rs.getString("Name");
myData[0] = rs.getInt("Goal");
myData[1] = rs.getInt("New");
myData[2] = rs.getInt("Used");
myData[3] = rs.getInt("total");
myData[4] = rs.getInt("pace");
myMap.put(name, myData);
}
В таком случае тривиально перебирать карту при необходимости (подсказка: используйте Map.Entry<String, int[]>
), например, в toString()
.Массивы не имеют «выходных данных», поэтому вам нужно либо использовать объект, либо отдельный метод, чтобы получить данные, отформатированные по мере необходимости.
Кроме того, избегайте имен переменных, таких как New ... ничего хорошего не получитсяимен, которые совпадают с ключевыми словами, но по-разному пишутся с заглавной буквы.