【问题标题】:Java - get a list in a listJava - 获取列表中的列表
【发布时间】:2016-06-14 15:17:32
【问题描述】:

我有一个学生列表,每个学生可以有多个地址。 我想要一个学生列表,并为每个学生条目提供该学生的所有地址。

我想创建一个hashmap,其中学生 ID 为键,学生详细信息为值。但我不确定如何在此实现中拥有地址列表。

List<Student> students;
Map<Integer,List<Student>> studentmap = new HashMap<Integer,List<Student>>();
for(Student s: students){
    if(!studentmap.contains(s.getId)){
        List<Student> studentsList=new ArrayList<Student>();
        studentsList.add(s);
        studentmap.put(s.getId,studentsList);
    }
}

【问题讨论】:

  • 如果每个学生可以有多个地址,可以把地址列表放在学生班级里。将您的学生班级代码添加到问题中..
  • 是的,我明白你的意思。但我最初得到的学生名单来自数据库调用。它没有给出地址列表。
  • 那么你的实际目标是什么?
  • 多个学生可以有相同的地址吗?在这种情况下,您宁愿将地址视为通过引用链接到学生的对象

标签: java arraylist collections


【解决方案1】:

如果您有一个学生列表,那么您可以根据给定的 ID 获取他们的地址,前提是您的 Student 类具有类似于以下代码的结构。

但我不知道如何在其中列出地址 实施。

将它们放在Student 类中:

class Student
{
    private String studentAddresses[];
    private int id;

    public Student(int studentId,String addresses[]){
        this.studentAddresses = addresses;
        this.id = studentId;
    }

    public String[] getStudentAddressess(){
        return this.studentAddresses;
    }
}

【讨论】:

    【解决方案2】:

    设有学生名单(List studentList)。 在 Student Class 中,我列出了地址和 ID。 从 StudentList 你可以得到学生的信息和地址列表

    List<Student> studentList;    
    class Student {
    private int id;
    private List<String> addressList = new ArrayList<String>();
    
    public Student(int id, List<String> addressList) {
        this.id = id;
        this.addressList = addressList;
    }
    
    public List<String> getAddressList() {
        return addressList;
    }
    
    public int getId() {
        return id;
    }
    
    public void setId(int id) {
        this.id = id;
    }
    
    public void setAddressList(List<String> addressList) {
        this.addressList = addressList;
    }
    

    }

    【讨论】:

      猜你喜欢
      • 2019-11-18
      • 2011-09-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-11-04
      • 1970-01-01
      相关资源
      最近更新 更多