2016-04-21 2 views
0

Итак, у меня есть ArrayList, который взят из TXT-файла. Он отображает следующие данные:Укажите идентификационный номер в ArrayList

Id 
Car Manufacturer 
Car Type 
Colour 
*blank line* 

Для примера:

21 
Vauxhall 
Corsa 
red 

19 
Vauxhall 
Corsa 
blue 

18 
Vauxhall 
Corsa 
White 

Мне любопытно, как сделать идентификатор «индекс» в качестве ArrayList, так что если автомобиль был удален или добавлен к Arraylist, он автоматически изменит номер идентификатора.

+0

Возможно использовать 'HashMap' вместо ... – brso05

+0

ArrayLists не позволяют произвольно, несмежных индексов. «Карта» какого-то вкуса была бы лучше. –

+0

Это похоже на проблему [XY] (http://meta.stackexchange.com/questions/66377/what-is-the-xy-problem). Что вы пытаетесь сделать, выполняя это? – azurefrog

ответ

0

Вам необходимо установить идентификатор в качестве первичного ключа для этого массива ArrayList. Вы можете сделать это путь создания ArrayList, который содержит объекты HashMap

ArrayList<HashMap<int, CarObject>> = new ArrayList()

Сортировки тогда становится вопрос о переборе целочисленных идентификаторов в вашем ArrayList объектов

0

Вы используют неправильные ... Для структуры данных вашего что-то вроде HashMap или LinkedHashMap было бы более оптимальным. Вы можете поместить все ваши данные автомобиля в POJOs

class Car { 
int Id; 
String make, style, color; 
getters/setters....; 
} 
List<Car> list = myReadMethod(); 

//Then you make 
Map<int, Car> myCars = new HashMap<Int, Car>; 
for(Car car : list) 
    myCars.put(car.getId, car);