宿題スレPart56 458


宿題スレ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