このコードでhashmapを使用するにはどうすればいいですか?学生のArrayListを保持するロスタがあります。私はハッシュマップのキーと値のペアを使用することを知っているが、私は私のキーと値が混乱している場合、私はarraylistを使用する次のクラスでhashmapを使用します。私はこれが私の名簿クラスであるユーザー次のコードでhashmapを使用する方法
//input that i get in may main class.
public class modify{
ArrayList<Roster> rList;
public modify{
rList = new ArrayList<Roster>();
}
public void addRoster(){
System.out.println("Enter name for roster: ");
String name = newObj.nextLine();
//Teacher t = new Teacher().addTeacher();
Student s = new Student().addStudent();
Roster addR = new Roster(s, name, 0);
rList.add(addR);
System.out.println("New Roster Created: ");
}//end of addRoster
/*
code
*/
}//end of class
に基づいていくつかのmodificatonを作るところ
これは私の修正クラスです。それは学生の支配者を保持します。
public class Roster{
int id;
String name;
List<Student> students;
public Roster(Student s, String name, int id){
this.students = new ArrayList<Student>();
this.students.add(s);
this.id = ranObj.rand();
this.name = name;
}//constructor
}//end of roster
は、これはあなたがkeys
は一意でなければならないことがわかっている場合ので、あなたは、そうHashMap
へList<Roaster>
を格納したい、これはあなたのクラス名簿
public class Roster{ //attributes of Roster.
int id; // Assuming this should be unique for each Object.
String name; //I don't know for what purpose u have used this.
List<Student> students; //list of Students
である私の学生のクラス
public class Student {
private int studentId;
public Student(String firstName, String lastName, int age) {
super(firstName, lastName, age);
this.studentId = ranObj.rand();
}
public String toString(){
return String.format("Student:\n" +
" Id = %d\n" +
" Age = %d\n" +
" firstName = %s\n" +
" lastName = %s\n\n" +
" ",getStudentId(),super.getAge(),
super.getFirstName(),super.getLastName());
}// end of tostring class
}//end of student
投稿をうまく整理しようと努力してください。 –
別の努力していない質問 – Stewart
あなたは、学生をRosterの中に保管し、その実装を決して公開しないために使用するコレクションを隠しておくべきです。これを行うと、リストを交換してMapを使用するのは簡単です。独自のキー(学生ID、名前など)をマップキーとして使用することは意味があります。 – duffymo