解答例 - 実習課題4 - 3.Set
(実習課題4)
実習課題1で作成したコンソール・プログラムを改良しなさい。
- 「HashSet」ではなく「LinkedHashSet」を使用すること。
- 実習課題1・3・4でどのように表示順が変わるか確認する事。
解答例
package com.techscore.utility.chapter3.exercise4;
/**
 * ComparableHuman.java
 * TECHSCORE Javaユーティリティ3章 実習課題4
 *
 * 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.chapter3.exercise4;
/**
 * Human.java
 * TECHSCORE Javaユーティリティ3章 実習課題4
 *
 * 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);
    }
}
    
	package com.techscore.utility.chapter3.exercise4;
import java.util.Iterator;
import java.util.LinkedHashSet;
/**
 * LinkedHashMapExample.java
 * TECHSCORE Javaユーティリティ3章 実習課題4
 *
 * Copyright (c) 2004 Four-Dimensional Data, Inc.
 */
public class LinkedHashSetExample {
    public static void main(String[] args) {
        // リンクハッシュセットを初期化する。
        LinkedHashSet set = new LinkedHashSet();
        // 追加する人のオブジェクトを作成する。
        ComparableHuman taro = new ComparableHuman("太郎", 15);
        ComparableHuman hanako = new ComparableHuman("花子", 12);
        ComparableHuman jiro = new ComparableHuman("次郎", 13);
        // リンクハッシュセットにHumanオブジェクトを追加する。
        set.add(taro);
        set.add(hanako);
        set.add(jiro);
        // リンクハッシュセットの一覧を表示する。
        Iterator i = set.iterator();
        while (i.hasNext()) {
            ComparableHuman h = (ComparableHuman) i.next();
            System.out.println("(名前)" + h.getName() + "  (年齢)" + h.getAge());
        }
    }
}
    

![Webアプリ開発エンジニアのための技術情報サイト[テックスコア]](/common/img/description.gif) 
 







