请查看我想要描述的方案的图片。
我想在列表中有一个列表,知道该列表的大小(内部)以及如何从该列表中调用特定数据。
- 还请包括如何将hobbyList
添加到candidateList
那么让我们说我想为第二候选人调用hobbyList的大小<code>CandidateList(1).HobbyList.length()</code>
?还是.size()
?
如果我想调用第二个候选人的第三个爱好值,该怎么办?
CandidateList(1).HobbyList(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);
等...