2

我是 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());
}
4

6 回答 6

14

您需要创建一个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());
}
于 2012-11-30T20:20:53.733 回答
10
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.
}
于 2012-11-30T20:20:17.460 回答
3

这么快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);
}
于 2012-11-30T20:25:05.037 回答
1

放入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());
}
于 2012-11-30T20:20:38.133 回答
1

介绍一个包含人员的列表并将对象添加到您的循环中

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());
}
于 2012-11-30T20:20:55.657 回答
1
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());
}
于 2012-11-30T20:23:33.913 回答