• ベストアンサー

テーブルの1レコードを継承してクラスを定義する方法

あるサイト(URLは忘れました。)で、 「  テーブルの1レコードを定義したクラスを、継承  して、新しいクラスの中でテーブルを作成する。                        」 と記載されていたのですが、コーディング上どのよう にするかを迷っております。 ご指導のほどお願いします。 記憶にある図解です。 ┌──────────┐extends 1レコードクラス │          │ │┌┬┬┬┬┬┬┬┬┐│ ││││││││││││ │└┴┴┴┴┴┴┴┴┘│ │          │ └──────────┘ ┌┐ ││が1レコードクラスに相当します。 └┘

質問者が選んだベストアンサー

  • ベストアンサー
  • chi-kon
  • ベストアンサー率43% (58/132)
回答No.2

たとえば 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); } } て感じでやれるのではないでしょうか?

asaichi
質問者

お礼

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

その他の回答 (3)

  • akira-h
  • ベストアンサー率80% (4/5)
回答No.4

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/util/HashMap.html
asaichi
質問者

お礼

返事が遅くなりすみません。 このクラスは、このようなときに利用するのですね。 「id」で全て処理するようにするのであれば、このクラスは活用できますね。 検討してみます。 ありがとうございます。

  • chi-kon
  • ベストアンサー率43% (58/132)
回答No.3

ちなみにsetterとかは省いちゃったのですが 適当につくってください。 取り出すところだけイメージしてみました。

asaichi
質問者

お礼

返事が遅くなってすみません。 勉強になります。 setterは、 public int AddMeisai( Meisai tMeisai ) {  this.data.add( tMeisai );  return( 0 ); } としようと思います。 たびたびすみませんが、Vectorに登録した内容から 「id」に一致するデータを抽出する場合は、Vector から1レコードずつ獲得しチェックしながらする 方法しかないのですか?VectorのAPIを見たら、「 比較」するメソッドが無かったので…。 すみませんが、よろしくお願いします。

  • chi-kon
  • ベストアンサー率43% (58/132)
回答No.1

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

asaichi
質問者

補足

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

関連するQ&A