• ベストアンサー

Vectorから一部分を取り出す方法はありますか?

教えていただきたいのですが、 1つのVectorの中に、いろいろなモノ(例えば、番号、名前、年齢のデータなど) が入っていたとして、そのVectorから番号だけ取り出して表示するなどということはできるでしょうか? /* 番号、名前、年齢を取得するメソッド(Vectorが戻り値)があるとして.... */ Vector vec = new Vector() ; str = number+name+age ; //これがたくさんあるとします vec.add(str) ;//番号と名前と年齢の組み合わせをVectorに格納 return vec ; /* 取りだし */ Vector vec=new Vector() ; vec = getVector() ; //メソッドから値を取りだし for(int i=0;i<vec.size();i++) { System.out.println(vec.elementAt(i)) ; } こんな感じだと、全部表示されてしまいます.... 部分ごとに取り出す方法はないでしょうか?初歩的な質問でごめんなさい、 よろしくお願いします!

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

  • ベストアンサー
回答No.1

Stringに格納するときに"0001,田中,40"のようにカンマか何かで 区切らないと無理ではないでしょうか。 それよりも、 Vector v1 = new Vector(); Vector v2 = new Vector(); v1.addElement("番号"); v1.addElement("名前"); v1.addElement("年齢"); v2.addElement(v1); のようにした方が簡単ですよ。 取り出すときは Vector v3 = (Vector)v2.get(i)// iは取り出したいレコード System.out.println(v3.get(j))// jは取り出したいデータ 配列でも可能。

bibi5555
質問者

お礼

1つずつaddElementしたら、取り出せました。 ありがとうございました。

その他の回答 (3)

  • ranx
  • ベストアンサー率24% (357/1463)
回答No.4

No.1、No.3の方々のやり方で、確かにできます。 しかし、これはオブジェクト指向じゃない。 というわけで、「初歩的な質問」に対する答えとしては、 私はNo.2の方のやり方を推奨します。

  • gahahei
  • ベストアンサー率13% (3/22)
回答No.3

No1の方を参考にして・・・・ vectorの2次元配列でaddをNo1の方方式。 でも、それだったらはじめからhashmap使った方が良いんじゃないのかな? hashmapのkeyをインクリメントしていってもいいし、イテレータで回しても良いし・・・

bibi5555
質問者

お礼

hashmapは使ったことがなかったので、試してみます! ありがとうございました。

  • Harry_
  • ベストアンサー率55% (36/65)
回答No.2

番号、名前、年齢などのデータをひとまとめにしたクラスをつくります。

bibi5555
質問者

お礼

データをクラス化して、必要な時に取り出すということですか? そうですね、その方がわかりやすいかも? いろいろ試してみます、ありがとうございました☆

関連するQ&A