Java:将数组存储到数组中?

时间:2014-03-29 16:37:51

标签: java arrays arraylist java.util.scanner

是否可以存储添加到数组中的三个字符串值(studentName),并将其存储到另一个数组中,以便以后可以找到它?

基本上我的主要目标是存储名称,用户ID和余额(fullName,idName,300)。

并将其添加到“super(?)”数组中,以便当人们键入时,它会找到fullName并从那里提取信息。

2 个答案:

答案 0 :(得分:3)

您可以创建一个类

public class Student {
    private String name;
    private String id;
    private int balance;
}

然后您可以创建这些对象的列表:

List<Student> list = new ArrayList<Student>();

Map<String, String> map = new HashMap<String, String>();

然后:

List<Map<String, String>> listOfMaps = new ArrayList<Map<String, String>>();

然后:

map.put("name", "Thomas");
map.put("id", "Thomas id");
map.put("balance", ""300);
listOfMaps.add(map);

无论如何,要小心。您必须将数字(f.e. balance)保存为字符串,然后才需要映射它。

答案 1 :(得分:2)

嗯,我相信你在谈论像C#中可用的Jagged Array这样的东西,但是对于java,我们可以用其他方式来做...就像创建一个类并将其作为Generic List实现来操作...... / p>

public class Student {

private String name;
private int id;
private int balanace;

public Student(){}

public Student(String name, int id, int balance){
    this.name = name;
    this.id = id;
    this.balanace = balance;
}

public String getName() {
    return name;
}
public void setName(String name) {
    this.name = name;
}
public int getId() {
    return id;
}
public void setId(int id) {
    this.id = id;
}
public int getBalanace() {
    return balanace;
}
public void setBalanace(int balanace) {
    this.balanace = balanace;
}

}

在其他一些你想要操纵的课程中

public class ManipulateData {

public static void main(String[] args){
    Student student1 = new Student("James", 1, 500);
    List<Student> list = new ArrayList<Student>();
    list.add(student1);

    for(Student s: list){
        System.out.println("Name : " + s.getName());
        System.out.println("ID : " + s.getId());
        System.out.println("Balance : " + s.getBalanace());
    }
}

}