簡體   English   中英

Java - 如何遍歷ArrayList以添加元素?

[英]Java - How to iterate through an ArrayList for adding elements?

我是java的新手,我想從類中獲取所有數據。

這是我向班級添加數據的方式:

String[] arrNames = { "Andrew", "James" ... };
...

for(int i = 0; i < arrNames.length; i++){
   Person person = new Person();
   person.setId(i + 1);
   person.setName(arrNames[i]);
   person.setLastname(arrLastnames[i]);
   person.setIdentifier(arrIds[i]);
   person.setAddress(arrAddreses[i]);
}

如何獲取我已添加到課程中的所有數據?

for(Person p : ???){
   System.out.println(p.getName());
}

您需要創建一個List<Person>並將循環中的每個person添加到該列表中。

List<Person> personList = new ArrayList<Person>();

for(int i = 0; i < arrNames.length; i++){
   // Create Person
   // Set Attributes
   personList.add(person);
}

然后遍歷該列表以獲取每個Person實例: -

for (Person person: personList) {
    System.out.println(person.getName());
}
List<Person> list = ArrayList<Person>();

for(int i = 0; i < arrNames.length; i++){
   Person person = new Person();
   person.setId(i + 1);
   person.setName(arrNames[i]);
   person.setLastname(arrLastnames[i]);
   person.setIdentifier(arrIds[i]);
   person.setAddress(arrAddreses[i]);

   list.add(person); // adding each person object to the list.
}

如此快速的ArrayList入門:

List<Person> list = new ArrayList<Person>();
//Code to add stuff

for (Person p : list) {
  //Do something with p to your heart's desire.
}

要么

for (int i = 0; i < list.size(); i++) {
  Person reference = list.get(i);
}

添加東西,但你的循環是有缺陷的。 您只需用新數據覆蓋person每次迭代。 您需要將其添加到列表中。

List<Person> people = new ArrayList<Person>();

for(int i = 0; i < arrNames.length; i++){
   Person person = new Person();
   person.setId(i + 1);
   person.setName(arrNames[i]);
   person.setLastname(arrLastnames[i]);
   person.setIdentifier(arrIds[i]);
   person.setAddress(arrAddreses[i]);

   people.add(person);
}

Person放在列表中例如:

List<Person> persons = new ArrayList<Person>();
for(int i = 0; i < arrNames.length; i++){
   Person person = new Person();
   person.setId(i + 1);
   person.setName(arrNames[i]);
   person.setLastname(arrLastnames[i]);
   person.setIdentifier(arrIds[i]);
   person.setAddress(arrAddreses[i]);
   persons.add(person);
}
for(Person p : persons){
   System.out.println(p.getName());
}

引入一個包含人員的列表,並在循環中添加對象

String[] arrNames = { "Andrew", "James" ... };
...

List<Person> persons = new ArrayList<Person();    
for(int i = 0; i < arrNames.length; i++){
   Person person = new Person();
   person.setId(i + 1);
   person.setName(arrNames[i]);
   person.setLastname(arrLastnames[i]);
   person.setIdentifier(arrIds[i]);
   person.setAddress(arrAddreses[i]);

   persons.add(person);
}

然后你可以像這樣迭代列表

for(Person p : persons){
   System.out.println(p.getName());
}
List<Person> people = Arrays.asList(new Person(1, "Andrew", "Surname1", "address1"), new Person(2, "James", "Surname2", "address2"));

for(Person p : people){
   System.out.println(p.getName());
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM