列表中的呼叫长度和列表的特定项目

时间:2017-08-10 06:01:08

标签: java arrays list

请查看我想要描述的方案的图片。

Please view image for the scenario I want to describe

我想在列表中有一个列表,知道该列表的大小(内部)以及如何从该列表中调用特定数据。 - 还请包括如何将hobbyList添加到candidateList

那么让我们说我想为第二候选人调用hobbyList的大小<code>CandidateList(1).HobbyList.length()</code>?还是.size()

如果我想调用第二个候选人的第三个爱好值,该怎么办? CandidateList(1).HobbyList(2)

我不知道我是否已经清楚我想要的东西,所以请不要犹豫,问我。

谢谢! :)

2 个答案:

答案 0 :(得分:2)

爱好班级

git ftp init -u "john" --key "$HOME/.ssh/id_rsa" "sftp://example.com/~/public_html"

候选人班级

public class Hobby {
    private int id;
    private String hobby;

    public Hobby(int id, String hobby) {
        this.id = id;
        this.hobby = hobby;
    }
    // Getters and setters
}

MainClassDemo 有主要方法

import java.util.List;
public class Candidate {
    private int id;
    private String candidateName;
    private List<Hobby> hobbies;

    public Candidate(int id, String candidateName, List<Hobby> hobbies) {
        this.id = id;
        this.candidateName = candidateName;
        this.hobbies = hobbies;
    }
    // Getters and setters
}

<强>输出

候选人人数: - &gt; 2
第一名候选人的爱好列表大小: - &gt; 3
第二候选人的爱好列表大小: - &gt; 5
第一候选人的第一个爱好: - &gt; Cricket
第二候选人的第三个爱好: - &gt; INSTA

答案 1 :(得分:0)

我不确定我完全理解你的问题。

假设你有一个候选人和一个班级爱好:

public class Candidate {
    public final List<Hobby> hobbyList = new ArrayList<>();

    ...
}

public class Hobby {
    ...
}

候选人名单:

List<Candidate> candidateList;

通过使用以下表达式调用,您将获得列表中第二个候选人的爱好数量:

candidateList.get(1).hobbyList.size()

你将获得第二名候选人的爱好列表中的第三个爱好:

candidateList.get(1).hobbyList.get(2)

为第二个候选人添加一个爱好,你会这样做:

candidateList.get(1).hobbyList.add(hobby);

现在我喜欢封装类的字段,至少在它们可以被修改时,所以我会将hobbyList设为私有,并添加一些方法:

public class Candidate {
    private final List<Hobby> hobbyList = new ArrayList<>();

    public int getHobbyCount() {
        return hobbyList.size();
    }

    public Hobby getHobby(int i) {
        return hobbyList.get(i);
    }

    public List<Hobby> getHobbies() {
        return new ArrayList<>(hobbyList);
    }

    public void addHobby(Hobby hobby) {
        hobbyList.add(hobby);
    }

    public void removeHobby(Hobby hobby) {
        hobbyList.remove(hobby);
    }

    public void removeAllHobbies() {
        hobbyList.clear();
    }
    ...
}

所以你现在可以写下这样的东西:

candidateList.get(1).getHobbyCount();
candidateList.get(1).getHobby(2);
candidateList.get(1).add(hobby);

等...

相关问题