【问题标题】:How to carry out ArrayList implementation so as to store person details如何执行 ArrayList 实现以存储人员详细信息
【发布时间】:2013-08-15 20:34:00
【问题描述】:

我需要实现一个可以保存类似人员记录的 ArrayList。到目前为止我只能这样做:


代码


import java.util.*;

class ArrayListDemo {

public static void main(String args[]) {

    ArrayList al = new ArrayList();
    System.out.println("Initial size of al: "
            + al.size());

    al.add("C");
    al.add("A");
    al.add("E");
    al.add("B");
    al.add("D");
    al.add("F");
    al.add(1, "A2");
    System.out.println("Size of al after additions: "
            + al.size());

    System.out.println("Contents of al: " + al);

    al.remove("F");
    al.remove(2);
    System.out.println("Size of al after deletions: "
            + al.size());
    System.out.println("Contents of al: " + al);
}
}

该网站的一位成员告诉我执行以下操作,我真的不知道该怎么做:


你会的

ArrayList<Person> myList = new ArrayList<Person>();

然后你可以重复

newPerson = new Person("Bruce", "Wayne", 1972, "Gotham City");

myList.add(newPerson);

您可以通过以下方式访问列表中的人员

int personNumber = 0;

Person retrievedPerson = myList.get(personNumber);

甚至

for (Person someone : myList) {
   System.out.println(someone);
}

任何关于利用特定stackoverflow member(即 Carl Smotricz 的回答)提到的上述要点的简单程序的帮助将不胜感激。

非常感谢

【问题讨论】:

  • 我对您最近的另一篇文章的回答为此类事情提供了 Person 类的骨架。如果您遇到问题,请就具体点寻求帮助,而不仅仅是寻求完整的程序。
  • 这都是基本的Java。您需要完成有关如何编写课程的教程。然后看看集合,尤其是 List 和 Map。
  • 我不在。我会考虑 Jon Skeet 和 starbkue 所说的话。
  • 在我看来,您需要的是 Java 编程的基本教程……而不是特定编程问题的答案。

标签: java arraylist


【解决方案1】:

通过这个

/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package sl4jdemo;

import java.util.ArrayList;
import java.util.List;

/**
 *
 * @author Administrator
 */
public class arrayTest {

    public static class Person{
        String name;
        String SSL;
        String Street;
        Integer age;

        public String getSSL() {
            return SSL;
        }

        public void setSSL(String SSL) {
            this.SSL = SSL;
        }

        public String getStreet() {
            return Street;
        }

        public void setStreet(String Street) {
            this.Street = Street;
        }

        public Integer getAge() {
            return age;
        }

        public void setAge(Integer age) {
            this.age = age;
        }

        public String getName() {
            return name;
        }

        public void setName(String name) {
            this.name = name;
        }

        public Person(String name, String SSL, String Street, Integer age) {
            this.name = name;
            this.SSL = SSL;
            this.Street = Street;
            this.age = age;
        }

    }
    public static void main(String[] args) {
        List<Person> persons = new ArrayList<arrayTest.Person>();
        persons.add(new Person("Bob", "FKJHHS87546", "WALLSTREET", 21));
        persons.add(new Person("Tom", "SEFSDF875463", "WALLSTREET", 25));
        for (Person person : persons) {
            System.out.println("Name : "+person.getName());
            System.out.println("SSL : "+person.getSSL());
            System.out.println("Street : "+person.getStreet());
            System.out.println("Age : "+person.getAge());
        }
    }
}

【讨论】:

  • -1 for bad style:忽略类和变量的命名约定,不必要地嵌套类,不将成员变量设为私有。
  • person的复数形式是people,而不是persons
  • 这段代码真的很有帮助。将在此基础上进一步发展。感谢 taher 和 Valentin 进行编辑
  • @TrueSoft:People 是一个名词,有时可以用作人的复数形式。但是,persons 是我们自己的字典中认可的一个词。有趣的是,people 的复数形式是 peoples,如“所有联合起来的这个王国的人民”。关于英语的事情是必须区分风格和语法。在 octopus 的三种有效复数形式(octopi、octopuses、octopodes)中,正确使用的一种主要仅由适合上下文的样式决定。
猜你喜欢
  • 1970-01-01
  • 2011-10-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多