Javaに関する様々な情報をご紹介します。

Javaに関する様々な情報をご紹介します。
評価

0

ベクトルの使いかた。。 

基本的なことですいせん。

ベクトルを使いたいのですが、どのように宣言したり適用すればいいのでしょうか??

あと、話はちょっと違うのですがopenCVでのCvScalarはjavaだと何にあたるのでしょうか?知っている方いたら教えてください(>_<;)

11

回答

78820

閲覧

11件の回答

評価

0

ベクトル?

「Vector」のことを指しているなら「ベクタ」または「ベクター」と呼びます。

物理などで使うベクトルは「Vektor」という綴りを書きます・・・

まず、「Vector」のことを聞いているのかどうかが確認とれないと誰も回答できません。

評価

0

そうですVectorです、なんとなくベクトルの方が馴染みあるかなと思い・・・ww
学生的コメントで申し訳ございません(^^;)

評価

0

>どのように宣言したり

import java.util.Vector;

宣言は上のように宣言します。

>適用すればいいのでしょうか

APIを見てください。

http://sdc.sun.co.jp/java/docs/j2se/1.4/ja/docs/ja/api/java/util/Vector.html

どのように適用するかなんて人それぞれです。その全てのサンプルを書けと言われても困りますし。


しかし、現在「Vector」ではなく「List」を使うことが一般的となっております。

「List」に関しては

http://www.javaroad.jp/java_collection2.htm

を見てください。

評価

0

お手数おかけしてすいません☆

ありがとうございます!!

また分かんなくなったとき御指導お願いします!

評価

0

>しかし、現在「Vector」ではなく「List」を使うことが一般的となっております。
確かに一般的と言えば一般的ではあるだろうけど・・

何故廃止されずに生き残ってるのか
というのもあるんじゃなかろうか・・

評価

0

廃止すると、膨大な量のソースを書き直して検証しないといけないからです。
これから作るならListで良いです。

評価

0

別にListでいいでしょう

ただ
もしかして同期をとることに"特化"したいというのもあったりするのかなあ?
と勝手に想像してみてたりしてますが

同期の取り方も結局は好みなんでしょうけどね
(宗教ぽいような話ばかり入りそうだし好みのままで放っとくのがよいよい)

評価

0

本題とはそれますが、ふと疑問に思ったことがあります。
Vectorと、
Collections.synchronizedList(List)
で返されるListとでは、同期の仕方やパフォーマンスが異なってくるのでしょうか?
そもそもどちらもあまり使うべきではない等、何か指針のようなものなどはあるのでしょうか?

評価

0

元々Vectorと同等の使い勝手を実現するために、用意されたものだと思いますが。
Collections.synchronizedList()で返されるCollections.SynchronizedListは、synchronizedブロック内で元のリストのメソッドを呼んでいるだけです。
Vectorのメソッドはメソッド自体にsynchronizedがついてます。
実質的に差はないでしょう。

個々のリストでどれくらい、どのように同期を取る必要があるか、というだけだと思います。
そうせねばならないケースが少ないとしたら、呼び出し側でsynchronizedブロックに入れてあげればいいだけで。

評価

0

なるほど。すっきりです。
mioさん、ありがとうございます。

評価

0

>同期の仕方やパフォーマンスが異なってくるのでしょうか?
メソッドを呼ぶ階層が増える分くらいはパフォーマンスにも関わってくるでしょうけど、実際に感じるのは差がないかもです

完全に同期を意識した作りなら最初からVectorを使うということも考えられると思うし(わざわざListに合わせて改良されてるなんて文言は・・)

Collections.synchronizedList()を使うかどうかは先を踏まえて、コード上でどう意識させたいかによると思います
・明示的に同期させているんだよ
とか
・必要と思う人にCollections.synchronizedList()を使わせるような形で開放する
とか

Collections.synchronizedList()を持ち出してくるのは常に同期化が必要かどうかが分かれるときとか、使う人に特に意識させたい(同期化されていないことを)とかの場合に多く現るのかな?とも思ったりですけど
(Listと同期化の話が出てくると、そんな風に話が進んでいるのをよく見る感もあって・・ですけど)

質問から6ヶ月以上経過しているので、回答を書き込むことはできません。