すべて chapter23.kadaiパッケージに作成してください

ソースコード(クラス名.java)をSドライブにアップロードして提出してください

S:\Java\課題提出\基礎\23章


事前準備

商品データを表すSyouhinクラスを以下の仕様で作成します。

アクセス修飾子は、フィールドはprivate、その他はpublicとします。

パッケージ chapter23.kadai
クラス名 Syouhin
フィールド
String name 商品名
int price 価格
コンストラクタ
(商品名, 価格)
引数の商品名、価格をフィールドにセットする。
メソッド 各フィールドのセッター、ゲッター

問題1 商品データをArrayListに保存して出力

クラスSyouhinListを作成し、mainメソッドに以下の処理を記述します。

  1. ArrayListに商品データ(Syouhin型のオブジェクト)を複数格納する。
  2. ArrayListに入っている商品データを全て出力する

商品名、価格の初期データはコンソールから入力せずにプログラム内で適当に決めてよいです。

出力も、商品名、価格が表示されていれば、どんな形式でもよいです。

問題2 Setを使って保存

問題1のArrayListをHashSetに変更し、同じ商品名のものは複数登録できないようにしてください。
(価格が違っても、商品名が同じなら重複と判定し、登録させない)

必要に応じて、Syouhinクラスにも変更を加えてください。

クラス名:SyouhinSet

問題3 Mapを使って保存

key=商品番号(文字列), value=商品(問題1のSyouhin型)の形式でHashMapにデータを保存し、商品番号を入力すると商品情報(商品名と価格)を表示するプログラムを作ってください。

商品番号、商品名、価格の初期データはコンソールから入力せずに、プログラム内で適当に決めてよいです。

クラス名:SyouhinMap


実行結果例1: 指定の商品番号の商品がHashMapにある場合

商品番号を入力してください: 001

商品名:ボールペン

価格:80

実行結果例2: 指定の商品番号の商品がHashMapにない場合

商品番号を入力してください: 0

そのような商品はありません

問題4 応用課題 Comparableインターフェースの実装

授業で作成したManクラス(教科書p435)にComparableインターフェースを実装し、Collectionsクラスのsortメソッドのうち、引数ひとつのメソッドで年齢の若い順に並び替えができるようにしてください。

必要に応じて、アクセス修飾子を変更しても構いません。

chapter23.kadai.ManSortクラスのmainメソッドにてManクラスのリストを作成し、Collectionsクラスの引数1つのsortメソッドを呼び出して、年齢順に並び替わることを確認してください。