- ベストアンサー
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)) ; } こんな感じだと、全部表示されてしまいます.... 部分ごとに取り出す方法はないでしょうか?初歩的な質問でごめんなさい、 よろしくお願いします!
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
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は取り出したいデータ 配列でも可能。
その他の回答 (3)
- ranx
- ベストアンサー率24% (357/1463)
No.1、No.3の方々のやり方で、確かにできます。 しかし、これはオブジェクト指向じゃない。 というわけで、「初歩的な質問」に対する答えとしては、 私はNo.2の方のやり方を推奨します。
- gahahei
- ベストアンサー率13% (3/22)
No1の方を参考にして・・・・ vectorの2次元配列でaddをNo1の方方式。 でも、それだったらはじめからhashmap使った方が良いんじゃないのかな? hashmapのkeyをインクリメントしていってもいいし、イテレータで回しても良いし・・・
お礼
hashmapは使ったことがなかったので、試してみます! ありがとうございました。
- Harry_
- ベストアンサー率55% (36/65)
番号、名前、年齢などのデータをひとまとめにしたクラスをつくります。
お礼
データをクラス化して、必要な時に取り出すということですか? そうですね、その方がわかりやすいかも? いろいろ試してみます、ありがとうございました☆
お礼
1つずつaddElementしたら、取り出せました。 ありがとうございました。