目次へ

解答例 - 実習課題1 - 4.Map

(実習課題1)

以下のコンソールプログラムを実装しなさい。

  • 3章の実習課題2で作成した人間クラスをキーとし、その住所を値として「HashMap」に複数保存する事。
  • 最後にキーと値の一覧を表示する事。「entrySet()」メソッドを使用すること。

解答例

package com.techscore.utility.chapter4.exercise1;

/**
 * ComparableHuman.java
 * TECHSCORE Javaユーティリティ4章 実習課題1
 *
 * Copyright (c) 2004 Four-Dimensional Data, Inc.
 */

public class ComparableHuman extends Human implements Comparable {

    public ComparableHuman(String name, int age) {
        super(name, age);
    }

    // 年齢を比較する。年齢が同じなら true を返す。
    public boolean equals(Human h) {
        return (this.getAge() == h.getAge());
    }

    // 年齢を比較する。年齢差を返す。
    public int compareTo(Object obj) {
        return (this.getAge() - ((Human) obj).getAge());
    }

}
    
package com.techscore.utility.chapter4.exercise1;

/**
 * HashMapExample.java 
 * TECHSCORE Javaユーティリティ4章 実習課題1
 *
 * Copyright (c) 2004 Four-Dimensional Data, Inc.
 */

import java.util.HashMap;
import java.util.Set;
import java.util.Map;
import java.util.Iterator;

public class HashMapExample {

    public static void main(String[] args) {

        // ハッシュマップを初期化する。
        HashMap map = new HashMap();

        // 追加する人のオブジェクトを作成する。
        ComparableHuman taro = new ComparableHuman("太郎", 15);
        ComparableHuman hanako = new ComparableHuman("花子", 12);
        ComparableHuman jiro = new ComparableHuman("次郎", 13);

        // ハッシュマップにHumanオブジェクトを追加する。
        map.put(taro, "京都市左京区");
        map.put(hanako, "大阪市北区");
        map.put(jiro, "神戸市中央区");

        // ハッシュマップの一覧を表示する。
        Set set = map.entrySet();
        Iterator i = set.iterator();
        while (i.hasNext()) {
            Map.Entry entry = (Map.Entry) i.next();
            ComparableHuman h = (ComparableHuman) entry.getKey();
            System.out.println(
                "(名前)"
                    + h.getName()
                    + "  (年齢)"
                    + h.getAge()
                    + "  (住所)"
                    + entry.getValue());
        }
    }

}
    
package com.techscore.utility.chapter4.exercise1;

/**
 * Human.java
 * TECHSCORE Javaユーティリティ4章 実習課題1
 *
 * Copyright (c) 2004 Four-Dimensional Data, Inc.
 */

public class Human {

    private String name = null;
    private int age = 0;

    public Human(String name, int age) {
        this.name = name;
        this.age = age;
    }

    public String getName() {
        return (name);
    }

    public int getAge() {
        return (age);
    }

}
    

↑このページの先頭へ

こちらもチェック!

PR
  • XMLDB.jp