- PR -

コレクションフレームワーク(HashMap、ArrayList)

投稿者投稿内容
vincent
大ベテラン
会議室デビュー日: 2004/07/09
投稿数: 142
投稿日時: 2006-09-28 09:36
たとえばこんな感じ。
コード:

abstract class AbstractRow {
protected Map map = new HashMap();
}

class Table1 extends AbstractRow {
public String getName() {
return (String)map.get("Name");
}
public int getPrice() {
return (String)map.get("Price");
}
public void setName(String name) {
map.put("Name", name);
}
public void setPrice(int value) {
map.put("Price", name);
}
}



[ メッセージ編集済み 編集者: vincent 編集日時 2006-09-28 09:37 ]
ume
会議室デビュー日: 2006/09/26
投稿数: 5
投稿日時: 2006-09-30 18:48
Kazuki様、vincent様、アドバイスありがとうございます。
的外れな事を書いてしまい、失礼致しました。

現時点で修正したコードと結果を書きます。
vincentさんの書かれたHashMapを利用する方法は、
現時点ではまだ実装していません。これから考えてみます。
変更箇所は、RecordクラスとMainクラスの一部です。

public class Record {
private int price;
private int volume;

public Record(int volume, int price) {
this.volume = volume;
this.price = price;
}

public void setPrice(int price) {
this.price = price;
}
public int getPrice() {
return price;
}
public void setVolume(int volume) {
this.volume = volume;
}
public int getVolume() {
return volume;
}
public String toString() {
return "[volume=" + volume + ",price=" + price + "]";
}
}

Mainクラスは下記のように変更しました。

Iterator all = list.iterator();
while (all.hasNext()){
Record priceA = (Record)all.next();
System.out.println( "all=[volume=" + priceA.getVolume()+ ",price=" +priceA.getPrice() + "]");
}

出力結果↓
List=[[volume=6,price=10], [volume=1,price=8], [volume=3,price=5]]
all=[volume=6,price=10]
all=[volume=1,price=8]
all=[volume=3,price=5]

スキルアップ/キャリアアップ(JOB@IT)