宿題スレPart56 >>458 †
import java.util.*;
public class EntryPoint {
public static void main(String args[]){
List リスト = new LinkedList();
//ハッシュ表に要素を追加したい場合にはここに記述してください。
リスト.add(new 個人情報(100, new Person("ギコ")));
リスト.add(new 個人情報(150, new Person("モナ")));
リスト.add(new 個人情報(200, new Person("しぃ","123-456-789")));
Map ハッシュ表 = new HashMap();
//ハッシュ表にデータを登録する。
//学籍番号が同じ場合には同じデータとして登録されるため注意。
for(Iterator it = リスト.iterator(); it.hasNext() ; ){
個人情報 情報 =(個人情報)it.next();
ハッシュ表.put(情報, 情報.getPerson());
}
//ハッシュ表の全要素を表示する。(学籍番号の順に必ずしも表示されるわけではない。)
for(Iterator it = ハッシュ表.keySet().iterator(); it.hasNext() ; ){
個人情報 キー = (個人情報)it.next();
System.out.println("き〜:" + キー.hashCode() + " ばりゅ〜:" + ハッシュ表.get(キー));
}
}
}
//Personオブジェクト
class Person {
public Person(String 氏名){
this.氏名 = 氏名;
}
public Person(String 氏名,String 電話番号){
this(氏名); //上のコンストラクタを呼び出す。
this.電話番号 = 電話番号;
}
public Person(String 氏名,String 電話番号,String Fax番号){
this(氏名,電話番号);
this.Fax番号 = Fax番号;
}
public Person(String 氏名,String 電話番号,String Fax番号,String 電子メール番号){
this(氏名,電話番号,Fax番号);
this.電子メール番号 = 電子メール番号;
}
public final String 氏名;
//Getterを書くのが面倒なため アクセス修飾子は public
public String 電話番号 ="";
public String Fax番号="";
public String 電子メール番号="";
// System.out.println 時に表示される内容を記述。
public String toString(){
return 氏名+ " " + 電話番号+" "+ Fax番号 +" " +電子メール番号;
}
}
//学籍番号とPersonオブジェクトを紐付けているクラス。
class 個人情報{
private final int 学籍番号;
private final Person パーソン;
public 個人情報(int 学籍番号,Person パーソン){
this.学籍番号 = 学籍番号;
this.パーソン = パーソン;
}
//ハッシュ表のキー
public int hashCode(){
return 学籍番号;
}
//ハッシュ表の値
public Person getPerson(){
return パーソン;
}
//学籍番号が同じなら equals時に同一オブジェクトとして扱う。
public boolean equals(Object obj){
if (this == obj)
return true;
// objが null の場合にはfalseになる。
if (!(obj instanceof 個人情報))
return false;
個人情報 情報 = (個人情報) obj;
if(this.学籍番号 == 情報.学籍番号){
return true;
}else{
return false;
}
}
}
CONTENTS
最新の20件
2020-11-14
2005-12-06
2006-11-04
2012-07-15
2009-06-19
2011-03-03
2006-12-13
2007-11-05
2014-07-22
2014-07-19
2014-07-09
2014-01-14
2012-09-03
2012-03-28
今日の20件
人気の30件
- counter: 1868
- today: 1
- yesterday: 0
- online: 1