Я начинаю работать со списком в Java, моя проблема в следующем, я пытаюсь заполнить список объектов, классы следующие: Изменения класса:
public class Cambios {
private List<Cambio> cambios;
public List<Cambio> getCambios() {
return cambios;
}
public void setCambios(List<Cambio> cambios) {
this.cambios = cambios;
}
}
Изменить класс:
public class Cambio {
String idCard;
String idList;
public String getIdCard() {
return idCard;
}
public void setIdCard(String idCard) {
this.idCard = idCard;
}
public String getIdList() {
return idList;
}
public void setIdList(String idList) {
this.idList = idList;
}
}
Пытаюсь заполнить их следующим образом через сеты, но не очень хорошо знаю как работают списки, заранее спасибо
Cambios cambios;
Cambio cambio;
List <Cambio> cambioLista = null;
for (int i=0; i<10; i++){
String idCard= "Valor de id" + i);
cambioLista.get(i).setIdCard(idCard);
cambios.setCambios(cambioLista);
}
То, что вы используете, - это интерфейс, вы можете использовать его как ссылочную переменную или реализовать его непосредственно в классе и переопределить его методы, но у вас никогда не будет экземпляра любого объекта этого типа.
Я рекомендую вам использовать класс ArrayList , он позволит вам создать список объектов типа, определенного в модификаторе ArrayList
<E>
. Вот ваш модифицированный код.Первый класс
Второй класс
Есть способы оптимизировать код, чтобы не было лишнего, но из соображений понимания, чтобы не быть радикальным с модификациями Я сделал так, рекомендую изучить про расширенный для и ознакомиться с API класса ArrayList чтобы узнать больше о его методах.
Чтобы создать список объектов, вам нужно сначала инициализировать список. В вашем случае список является свойством класса
Cambios
, поэтому вам нужно создать объект этого класса, создать его экземпляр, а затем инициализировать список:Для заполнения списка мы вызываем метод
add
и передаем ему объект того типа, для которого объявлен список. В вашем случае список будет содержать объекты классаCambio
, поэтому нам нужно сначала создать объекты этого класса, а затем добавить их в список: