「お昼の放送」の思い出

あるサイト(URLは忘れました。)で、

 テーブルの1レコードを定義したクラスを、継承
 して、新しいクラスの中でテーブルを作成する。
                       」
と記載されていたのですが、コーディング上どのよう
にするかを迷っております。
ご指導のほどお願いします。

記憶にある図解です。
┌──────────┐extends 1レコードクラス
│          │
│┌┬┬┬┬┬┬┬┬┐│
││││││││││││
│└┴┴┴┴┴┴┴┴┘│
│          │
└──────────┘
┌┐
││が1レコードクラスに相当します。
└┘

A 回答 (4件)

たとえば


1レコードがもっている情報がIDと名前だとします。

public class Meisai{
private String id;
private String name;

public Meisai(){
id="";
name="";
}

public String getId(){
return this.id;
}
public String getName(){
return this.name;
}
}

でこの明細をためこんでおくクラスをつくります。

public class ListData{
private Vector data;

public ListData(){
data = new Vector();
}

public getMeisai(int i){
return (Meisai)this.data.get(i);
}
}

て感じでやれるのではないでしょうか?
    • good
    • 0
この回答へのお礼

返事が遅くなりすみません。
#3でお礼させて頂きました。

お礼日時:2003/07/03 09:45

VectorではなくHashMapを使うのはどうでしょうか?



public class ListData{
private Map table;

public ListData(){
table = new HashMap();
}

public getMeisai(String id){
return (Meisai)table.get(id);
}

public void setMeisai(String id, Meisai data)
{
table.put(id,data);
}
}

HashMapを使えばIDをキーとしてデータが取得できます。
ただ、nameが一致するデータを取得使用とする場合、一つ一つ調べる必要がありますが。

参考URL:http://java.sun.com/j2se/1.3/ja/docs/ja/api/java …
    • good
    • 0
この回答へのお礼

返事が遅くなりすみません。

このクラスは、このようなときに利用するのですね。
「id」で全て処理するようにするのであれば、このクラスは活用できますね。

検討してみます。
ありがとうございます。

お礼日時:2003/07/08 09:17

ちなみにsetterとかは省いちゃったのですが


適当につくってください。

取り出すところだけイメージしてみました。
    • good
    • 0
この回答へのお礼

返事が遅くなってすみません。
勉強になります。
setterは、
public int AddMeisai( Meisai tMeisai )
{
 this.data.add( tMeisai );
 return( 0 );
}
としようと思います。

たびたびすみませんが、Vectorに登録した内容から
「id」に一致するデータを抽出する場合は、Vector
から1レコードずつ獲得しチェックしながらする
方法しかないのですか?VectorのAPIを見たら、「
比較」するメソッドが無かったので…。

すみませんが、よろしくお願いします。

お礼日時:2003/07/03 09:44

テーブルってどういうことさしているのでしょうか?



データのなかにデータを持っている状態をつくればいいのですか?
これだったら配列とか
Vectorとかをつかえばできるとおもいます。

この回答への補足

詳細を記載していませんでした。
すみません。
昨日
http://oshiete1.goo.ne.jp/kotaeru.php3?q=589973
について質問せて頂きました。
これは、1レコードについてのもち方でしたので、
それを複数レコードのよう保持したいと思いました。

すみませんが、よろしくお願いします。

補足日時:2003/07/02 17:20
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!


おすすめ情報