[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 1001- 2ch.scのread.cgiへ]
Update time : 12/05 23:21 / Filesize : 260 KB / Number-of Response : 1011
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

☆★Java質問・相談スレッド175★★



1 名前:デフォルトの名無しさん mailto:sage [2015/10/23(金) 23:09:24.14 ID:sB1GrBUA.net]
プログラミング言語Javaに関する質問スレです。
JavaScript, Ajaxの質問は、ここでは受け付けていません。
Web製作管理    pc11.2ch.net/hp/
Webプログラミング pc11.2ch.net/php/
をご利用下さい。

よくある質問
・「コマンドまたはファイル名が違います」
 「'javac' は、内部コマンドまたは外部コマンド、
 操作可能なプログラムまたはバッチ ファイルとして認識されていません。」
 「Exception in thread "main" java.lang.NoClassDefFoundError: 」
 (p)ttp://www.wikiroom.com/java/?path,classpath
・「\12288 は不正な文字です。」
文字リテラル以外で全角スペースは使えません。半角スペースに。
・その他の質問→「APIのjavadoc見ろ」
・String に == は使うな。equals() を使え。※

質問時の心得
・コンパイルエラーか実行時エラーか、エラーではないが意図しない動作なのかはっきりしろ。あとエラーメッセージちゃんと読め。
・前提条件としてOS、開発環境、バージョン、使用フレームワーク等を明記。


前スレ
★★Java質問・相談スレッド174★★ [転載禁止]©2ch.net
peace.2ch.net/test/read.cgi/tech/1435295532/

180 名前:名無しのプログラマー mailto:sage [2015/11/12(木) 21:38:26.01 ID:Apzqu3yG.net]
>>174
違うスレで構ってもらえよばか

181 名前:デフォルトの名無しさん mailto:sage [2015/11/13(金) 10:12:14.62 ID:MJ2A1O0X.net]
ファクトリーメソッドって、生成するオブジェクトの数だけ
ファクトリーの実体クラスも別に用意せにゃならんの?

182 名前:デフォルトの名無しさん mailto:sage [2015/11/13(金) 12:28:59.06 ID:yD/zg3gV.net]
>>179
シングルトンのオブジェクトでもいいし、newしてもいいし
それは要求次第

183 名前:デフォルトの名無しさん mailto:sage [2015/11/13(金) 21:46:49.50 ID:MJ2A1O0X.net]
(中身の違う)オブジェクトを生成するだけなら単一のファクトリーで、
オブジェクトの種類毎に別個のプロパティを与えたい等の場合は各ファクトリーで
みたいな認識でいいですかね?ありがとうございました。

184 名前:デフォルトの名無しさん mailto:sage [2015/11/14(土) 16:12:21.60 ID:JBEqdozk.net]
Javaでの音ゲーの作り方教えてください

185 名前:デフォルトの名無しさん mailto:sage [2015/11/14(土) 17:19:20.44 ID:+3otxd7D.net]
まずDTM機材を購入します

186 名前:デフォルトの名無しさん mailto:sage [2015/11/14(土) 17:29:13.36 ID:JBEqdozk.net]
dtm機材を購入したあとは何ですか

187 名前:デフォルトの名無しさん mailto:sage [2015/11/14(土) 19:21:45.48 ID:iU1SF+F5.net]
Javaでジョイパノ入力ってとれますか?

188 名前:デフォルトの名無しさん mailto:sage [2015/11/14(土) 20:08:39.08 ID:UXqVg/aK.net]
標準では無理だったような。
libGDXみたいなライブラリ使えば取れるはず。
もしくは自力でJNIするかJNA使うとか。



189 名前:デフォルトの名無しさん mailto:sage [2015/11/14(土) 23:30:39.57 ID:cLksvIkw.net]
デバッグ文出力についてですが、
C言語の__FUNC__とか__LINE__とかの要領で
Javaでも実行行のクラスとメソッドと行数表示したいんですがどうしたらいいですか

190 名前:デフォルトの名無しさん mailto:sage [2015/11/14(土) 23:44:30.57 ID:UXqVg/aK.net]
Throwable#getStackTrace() あたり使えば?
__LINE__ほどお手軽でもないし確実性もないけど。

191 名前:デフォルトの名無しさん mailto:sage [2015/11/15(日) 00:22:46.61 ID:438+6fis.net]
getStackTraceの文字列から必要な部分を抜き出す処理を自作してクラスを作る感じですかね手軽じゃないすね

192 名前:デフォルトの名無しさん mailto:sage [2015/11/15(日) 00:38:48.52 ID:AChR6djw.net]
ドラムマニアみたいな音ゲー作りたいのですが
BPMに合わせて横棒のやつを流すのにはどうしたらいいのでしょうか
それと譜面っていうのはどのようにつくるのでしょうか

参考サイトでもいいのであったら教えてください

193 名前:デフォルトの名無しさん mailto:sage [2015/11/15(日) 00:50:11.40 ID:t3nPp/Q0.net]
どうしたら良いかって、それをどうにかして作るのがお前の仕事だろ
プログラミングを人にやらせようと言うなら、しかるべきところに金を払って作ってもらえ

194 名前:デフォルトの名無しさん mailto:sage [2015/11/15(日) 01:14:27.77 ID:AChR6djw.net]
別にソースコード書けとかいってるわけではないのですが...
Javaでの音ゲーはこういう風に動かしてるみたいな解説してる
サイトはないんですか? 
ここでは質問の規模がでかいんですか?

195 名前:デフォルトの名無しさん mailto:sage [2015/11/15(日) 01:31:09.69 ID:t3nPp/Q0.net]
自分で探せよ
お前は、お客さんからこんなプログラムを作ってくださいと頼まれたときに、
じゃあそのプログラムがどうやったら出来るか解説してるサイトを教えてくださいと言うのか?

違うだろ?

BPMに合わせて横棒を動かすには、どのような処理が必要なのかを考えるだろ?
譜面はどんな実装にすれば都合が良いか考えるだろ?
こうやって必要な機能を考えて、それをコードに変換するのがプログラミングじゃないか
お前はこれをやらないで、一体どうやって音ゲーを「作る」と言うんだ?

196 名前:デフォルトの名無しさん mailto:sage [2015/11/15(日) 01:34:33.89 ID:HvoqMTfd.net]
Javaで書いて、どういう環境で動かすつもりなの?

197 名前:デフォルトの名無しさん [2015/11/15(日) 01:36:03.33 ID:Py+H7yqO.net]
>>193
わからないなら黙ってなよ
なんで逆切れして説教しちゃうわけ?

198 名前:デフォルトの名無しさん mailto:sage [2015/11/15(日) 02:37:52.29 ID:AChR6djw.net]
Javaで書いてvistaのpcで動かします
音ゲーのプログラムの敷居が高いみたいなので
もうちょっと勉強してからまた取り組みたいと思います
失礼しました



199 名前:デフォルトの名無しさん mailto:sage [2015/11/15(日) 03:58:14.83 ID:+qgiEGrj.net]
譜面は誰かが作らないといけない。
音・映像をピッタリ合わせるには、ミリ秒の精度がいる

つまり、素人レベルでは作れない

200 名前:デフォルトの名無しさん mailto:sage [2015/11/15(日) 05:58:25.83 ID:41gmwAEl.net]
調べたら日本語のサイトが一番上にでるじゃん
そこ見ればいいでしょ

201 名前:デフォルトの名無しさん mailto:sage [2015/11/15(日) 07:38:25.55 ID:ndJn5r2D.net]
自分が作りたいものがわかっているなら
それとそっくりに見える偽物を自分の技術の範囲内で作ればいい
ただそれだけ

中身は全く違うのに表面上は同じに見える
そのやり方は人それぞれ
呪文を唱えたら欲しいものが出てくるという馬鹿げた発想を捨てろ

202 名前:uy ◆Qawu9.2l1E mailto:sage [2015/11/15(日) 07:51:56.38 ID:BtG1eDoL.net]
rubyでプロトタイプ作ってやんよ?w

203 名前:デフォルトの名無しさん mailto:sage [2015/11/15(日) 07:54:34.21 ID:Ot9aRnfl.net]
>>189
printStackTraceじゃなくてgetStackTraceな。

古い知識知っててあえて質問してるんだろうなぁ……

204 名前:デフォルトの名無しさん mailto:sage [2015/11/15(日) 08:26:13.72 ID:0t6X5wmz.net]
>>196
敷居じゃなくハードルな

205 名前:uy ◆Qawu9.2l1E mailto:sage [2015/11/15(日) 08:43:04.47 ID:BtG1eDoL.net]
音ゲーのプロトタイプ作ったった

www1.axfc.net/u/3567053.zip
Key流して当たり判定つけるとこまで作った


まだ当たり判定が青と白両方に反応するけどコミティアにいく時間だ

じゃあの

206 名前:uy ◆Qawu9.2l1E mailto:sage [2015/11/15(日) 08:58:13.23 ID:BtG1eDoL.net]
>>203
exe化失敗してるな
うpし直し
www1.axfc.net/u/3567057.zip

207 名前:デフォルトの名無しさん mailto:sage [2015/11/15(日) 09:19:36.47 ID:k+MbqKKC.net]
あるオブジェクトの全フィールドを、バイナリ形式でファイルに出力したり、
逆にそのファイルのデータをオブジェクトのフィールドに設定したりする場合の
楽な方法を探しています

C言語だと、fread()やfwrite()を使って、構造体をバイナリファイルに書き出したり、
メモリに読み戻したりできますよね
それを使って、アプリの設定オプションを構造体に入れておきそれをfwrite()して保存する、
次回起動時には逆にfread()で読み込んで復元する、みたいなケースがよくあると思います
それと同様なことを、Javaで行いたく思ってます

今は、バイナリファイルをバイト単位で読み出しては、オプションを保持するオブジェクトの
フィールドにいちいち設定していく作りになっているのですが、正直実装が冗長であり、
分かりづらいので、改善したく思ってます

どのような方法がありますでしょうか

208 名前:デフォルトの名無しさん mailto:sage [2015/11/15(日) 09:38:00.22 ID:TCqZS+KM.net]
>実装が冗長であり

冗長だと思うのならその部分を削ればいい
削る部分がわからないならそれは冗長とは言わない



209 名前:デフォルトの名無しさん mailto:sage [2015/11/15(日) 09:45:17.56 ID:Ot9aRnfl.net]
SerializableとかXMLEncoder XMLDecoderでぐぐれ。

210 名前:デフォルトの名無しさん mailto:sage [2015/11/15(日) 09:53:46.69 ID:+PYuoVe7.net]
今時XMLは無いわ
冗長の極み

211 名前:デフォルトの名無しさん mailto:sage [2015/11/15(日) 09:55:17.79 ID:ndJn5r2D.net]
JSON でダメな理由を先にどうぞ
アプリの設定オプションなんてコロコロ変わりやすいものを
バイナリ格納なんて馬鹿げている

Cの構造体が簡単なのは全フィールドが固定長で外部参照を持たないという
厳しい制限の下に限られる

212 名前:デフォルトの名無しさん mailto:sage [2015/11/15(日) 09:57:20.05 ID:t3nPp/Q0.net]
>>205
シリアライズすれば簡単

参考
www.ne.jp/asahi/hishidama/home/tech/java/serial.html

コード例
https://ideone.com/HDScy9

213 名前:デフォルトの名無しさん mailto:sage [2015/11/15(日) 10:29:46.98 ID:k+MbqKKC.net]
>>210
コード例までありがとうございます

Serializable、writeObject/readObjectがポイントなのかなと理解しました

ありがとうございました

214 名前:デフォルトの名無しさん mailto:sage [2015/11/15(日) 11:29:13.92 ID:3sICG9Pp.net]
互換性w

215 名前:デフォルトの名無しさん mailto:sage [2015/11/15(日) 16:43:20.57 ID:gPCv3HTZ.net]
>>204
ありがとうございます

216 名前:デフォルトの名無しさん mailto:sage [2015/11/15(日) 21:02:25.69 ID:HeVxtDPA.net]
Javaでホームページを作れますでしょうか。
SWTかJavaFXを利用するのでしょうか?

217 名前:デフォルトの名無しさん [2015/11/15(日) 22:12:57.35 ID:QD578Y2m.net]
>>214
SWT、JavaFX自体はWebアプリケーション用のものではないよ。

218 名前:デフォルトの名無しさん mailto:sage [2015/11/15(日) 22:26:57.23 ID:kQ904uFQ.net]
ブラウザを作るってことかな?
んなわけないか



219 名前:デフォルトの名無しさん mailto:sage [2015/11/15(日) 23:21:07.08 ID:438+6fis.net]
Javaでウェブサービス作成だと有料しかないんじゃね
phpがいいんじゃね

220 名前:デフォルトの名無しさん mailto:sage [2015/11/15(日) 23:48:18.59 ID:Gx9F4ipf.net]
え?

221 名前:デフォルトの名無しさん mailto:sage [2015/11/16(月) 01:40:53.10 ID:7yHHnP/U.net]
職種別、資格別、スキル別の平均最低月給リスト
jobinjapan.jp/cate/
全掲載求人109,160件の平均最低月給195,800円

Javaの求人 の平均最低月給221,600円
jobinjapan.jp/job-listing/keyword-java-pg.html

222 名前:デフォルトの名無しさん mailto:sage [2015/11/16(月) 04:10:11.24 ID:qcD+UUSH.net]
なんでいつまでたっても
Javaにvarが来ないんですかああああああ!

223 名前:デフォルトの名無しさん mailto:sage [2015/11/16(月) 11:45:28.75 ID:34M8b0sH.net]
MSが買えばくるかもw

224 名前:デフォルトの名無しさん [2015/11/17(火) 03:03:13.56 ID:+A3liqn5.net]
mastiff.2ch.net/test/read.cgi/nanmin/1436633202/170
  ↑ ↑ ↑  ↑ ↑ ↑ 

225 名前:デフォルトの名無しさん mailto:sage [2015/11/17(火) 03:11:54.34 ID:f2IMGMZY.net]
Javaのダメなとこロッテなんですか?
普段JavaとPythonを書いているのですが、Pythonでは破綻してくる大きなプログラムも性的片付けのお陰でミスしにくいです。
それなのにまわりはJavaが嫌いな人ばかりです。何がダメなんでしょう。

226 名前:デフォルトの名無しさん mailto:sage [2015/11/17(火) 06:32:00.64 ID:TA7HNMVP.net]
お前の文章が破綻してるぞ〜

227 名前:デフォルトの名無しさん mailto:sage [2015/11/17(火) 11:00:04.60 ID:g9n64xwr.net]
>>223
ロッテはやめて明治にしなさい

228 名前:デフォルトの名無しさん mailto:sage [2015/11/17(火) 12:45:47.00 ID:duqxlqG4.net]
GUIアプリはVisualStudio一択だよなあandroidは別として
swingもはやらなかったしFxも駄目だろう



229 名前:デフォルトの名無しさん mailto:sage [2015/11/17(火) 13:53:29.58 ID:uYtrfvr1.net]
>>223
大量のおまじないがキライとか
Eclipse+プラグインが不安定・重いとか
オラクルに買われて将来の見通しが危ういとか
新しい物に振り回されるワナビのオシャレ感覚を満たせないとか

230 名前:デフォルトの名無しさん mailto:sage [2015/11/17(火) 13:54:14.71 ID:h7dvK3X9.net]
スレタイも読めないMS厨w

231 名前:デフォルトの名無しさん mailto:sage [2015/11/17(火) 17:00:28.40 ID:eIwDcRFq.net]
馬鹿の一つ覚えのように何でも厨w

232 名前:デフォルトの名無しさん mailto:sage [2015/11/17(火) 18:19:26.08 ID:/FWHBrxw.net]
class A{}
がある状態で、
List<? extends A> list = new ArrayList<A>();
list.add(new A());
がエラーになり
List<? super A> list = new ArrayList<A>();
list.add(new A());
が大丈夫なのはどういう理由なのでしょうか?

233 名前:デフォルトの名無しさん mailto:sage [2015/11/17(火) 19:32:30.42 ID:7/Sps+H2.net]
cordovaactivityのonreceivederrorメソッドで404とか検知できるかと思ったら出来ないのね・・・
なにか代案ありませんかね

234 名前:デフォルトの名無しさん mailto:sage [2015/11/17(火) 20:48:47.17 ID:taPkFLVH.net]
おまいらjavaFXやれよう・・・
さびしいじゃまいか・・

235 名前:デフォルトの名無しさん mailto:sage [2015/11/17(火) 21:00:41.45 ID:9MK99/sZ.net]
>>231
ドロイドすれで聞けよ

236 名前:デフォルトの名無しさん [2015/11/17(火) 21:01:21.02 ID:ZbjRFgjU.net]
末尾にセミコロン無いとプログラミングが出来ない人たちのスレ

237 名前:デフォルトの名無しさん mailto:sage [2015/11/17(火) 21:02:28.80 ID:UEGPGBHl.net]
セミコロンなんて飾り
ECMAScriptを見て見ろ

238 名前:デフォルトの名無しさん mailto:sage [2015/11/18(水) 01:49:57.62 ID:JvOfIMQ5.net]
>>230
前者は、Aのサブクラスなら何でも代入できる可能性があるからコンパイラで禁止されてる。



239 名前:デフォルトの名無しさん mailto:sage [2015/11/18(水) 03:26:49.04 ID:nojujAzt.net]
オライリーの詳解JAVAって今から読む価値あると思います?
10年以上前の本でバージョンも結構変わってるのに評価高くて迷うのですが

240 名前:デフォルトの名無しさん mailto:sage [2015/11/18(水) 09:33:20.07 ID:SnT5C0ty.net]
詳解だけに知らなかった機能の説明は多いが知らない=業務で使う機会少ない だからそれ程役には立ってない、今のところeffectiveが一番良書だと思う

241 名前:デフォルトの名無しさん [2015/11/18(水) 18:51:38.17 ID:/h+zTPgi.net]
JAVAで世間に認められる資格って、Oracleしか無いでしょうか?

JAVAできますって資格を一応取っておこうと思うのですが、
高いのが気になりまして。

242 名前:デフォルトの名無しさん mailto:sage [2015/11/18(水) 19:26:28.98 ID:RKqKQ0lC.net]
doubleの配列aとintの配列bがあります
aをソートした順番でbの値をとりだしたいです

例えば
a = {2.0, 1.2, 8.5, 1.2}
b = {1, 2, 3, 4}
という配列があったら
2, 4, 1, 3
というふうにとりだしたいです
aの要素は重複している場合はbの要素のどちらが先に来てもかまいません

c++とかならpairをいれた配列をソートすればいいんですが
javaだとどのように実装すればいいでしょうか

243 名前:デフォルトの名無しさん mailto:sage [2015/11/18(水) 20:22:26.01 ID:5026tb7/.net]
>>239
www.sikaku.gr.jp/js/jv/
こんなんあるけど、レベルと世間的評価は・・・・・・・

244 名前:デフォルトの名無しさん mailto:sage [2015/11/18(水) 20:26:10.68 ID:laMD8+R/.net]
aryA.zip(aryB) {|ary| ary.sort_by {|a, b| a } }


Rubyなら、zipで配列を、
同じインデックス同士くっつけてから、ソートする

245 名前:uy ◆Qawu9.2l1E [2015/11/18(水) 21:40:47.11 ID:Cs86FZg/.net]
>>240
https://ideone.com/01u71E

246 名前:デフォルトの名無しさん mailto:sage [2015/11/18(水) 22:52:00.64 ID:Vd3xoABa.net]
インデックスを入れた配列作ってインデックスの配列だけソートするとかじゃないの

247 名前:デフォルトの名無しさん mailto:sage [2015/11/18(水) 23:16:52.89 ID:laMD8+R/.net]
「java8 stream zip」で検索!

java8の、stream APIに、zipは無いのかな?


>>243
それは、Rubyやん

248 名前:デフォルトの名無しさん mailto:sage [2015/11/19(木) 09:14:45.58 ID:QqyV8t7R.net]
ブラッド・コックスとトム・ラブがObjective-Cを作り「この言語はCのメモリ安全性とSmalltalkの高速性を合わせたものだ」と宣言する。
現代の歴史家は2人が失読症ではないかと疑っている。
https://twitter.com/okdshin/status/666903312151613440



249 名前:デフォルトの名無しさん mailto:sage [2015/11/19(木) 15:27:44.52 ID:6x5+bHoL.net]
zipないよ
Scalaでもjrubyでも使えば良いじゃん

250 名前:デフォルトの名無しさん [2015/11/19(木) 22:57:36.12 ID:8VKR5aXo.net]
ゴミw

251 名前:デフォルトの名無しさん mailto:sage [2015/11/19(木) 23:06:09.36 ID:IjI4JPC6.net]
これじゃ、だめなん
ttp://www.atmarkit.co.jp/ait/articles/0710/24/news119_2.html

252 名前:デフォルトの名無しさん mailto:sage [2015/11/20(金) 12:17:51.42 ID:hbzqH1ic.net]
rxjavaならzipオペレーターあるけど、それだけのために使うなら泥臭い実装でも実現できる。

自分でPair<T, U>みたいなクラス作ってもいいよ。

253 名前:デフォルトの名無しさん [2015/11/20(金) 19:42:31.64 ID:QlSu2hgW.net]
javaゴミすぎw

254 名前:デフォルトの名無しさん mailto:sage [2015/11/20(金) 23:45:39.98 ID:jE66BR5f.net]
ごみじゃば

255 名前:デフォルトの名無しさん mailto:sage [2015/11/21(土) 01:04:41.40 ID:ZYL4H3PD.net]
>>240
> c++とかならpairをいれた配列をソートすればいいんですが
Javaでも同じ
static class Pair {
final double first;
final int second;
Pair(double first, int second) { this.first = first; this.second = second; }
}
public static void main(String[] args) {
double[] a = {2.0, 1.2, 8.5, 1.2};
int[] b = {1, 2, 3, 4};
ArrayList<Pair> list = new ArrayList<>();
for (int i = 0; i < a.length; i++) list.add(new Pair(a[i], b[i]));
Collections.sort(list, new Comparator<Pair>() {
public int compare(Pair a, Pair b) { return a.first == b.first ? 0 : (a.first < b.first ? -1 : 1 ); }
});
for (Pair p : list) System.out.println(p.second); //=> 2 4 1 3
}
標準でPairがないので、自分で作るか、Androidならandroid.util.Pair,
commons-langが使えるならorg.apache.commons.lang3.tuple.Pair

256 名前:デフォルトの名無しさん mailto:sage [2015/11/21(土) 01:21:24.28 ID:1stbRJxP.net]
p a.zip(b).sort_by {|a, b| a }.map(&:last)

257 名前:デフォルトの名無しさん mailto:sage [2015/11/21(土) 02:39:09.09 ID:M+Mq0fql.net]
Groovy(transpose), Scala, jruby

258 名前:デフォルトの名無しさん mailto:sage [2015/11/21(土) 03:00:39.95 ID:3veDbbsh.net]
だからインデックスソート使えって言ってんだろ!

double[] a = {2.0, 1.2, 8.5, 1.2};
int[] b = {1, 2, 3, 4};

Integer[] idx = new Integer[a.length];
for (int i = 0; i < idx.length; i++) idx[i] = i;
Arrays.sort(idx, (u, v) -> Double.compare(a[u], a[v]));

for (int i : idx) {
System.out.printf("%d %f %d\n", i, a[i], b[i]);
}


ideone.com/nsl2HN



259 名前:デフォルトの名無しさん [2015/11/21(土) 03:32:24.69 ID:8QsINeV7.net]
>>239
そもそも事実上、オラクル社の言語ですが?

260 名前:デフォルトの名無しさん mailto:sage [2015/11/21(土) 03:41:13.57 ID:ZYL4H3PD.net]
Java8ずいぶん変わってるなw
class Pair {
final double first;
final int second;
Pair(double first, int second) { this.first = first; this.second = second; }
}
double[] a = {2.0, 1.2, 8.5, 1.2};
int[] b = {1, 2, 3, 4};
ArrayList<Pair> list = new ArrayList<Pair>() { { for (int i = 0; i < a.length; i++) add(new Pair(a[i], b[i])); } };
list.sort(Comparator.comparing(x -> x.first));
list.forEach(p -> System.out.println(p.second)); //=> 2 4 1 3

261 名前:デフォルトの名無しさん mailto:sage [2015/11/21(土) 04:39:34.75 ID:M+Mq0fql.net]
>>256
>Integer[] idx = new Integer[a.length];
>for (int i = 0; i < idx.length; i++) idx[i] = i;

Java8なら、Streamを使えば?

IntStream idx = IntStream.range(0, a.length);

262 名前:デフォルトの名無しさん [2015/11/21(土) 05:54:07.12 ID:dT3KXR/u.net]
実行速度調べてきてみたよ
ideone.com/y3Paue

>>253がダントツで速い!!

次いで>>256、Comparatorクラスは>>256のが一番よいみたい

>>258これは全然ダメな奴だったよ

>>259
それ無理じゃない?

263 名前:デフォルトの名無しさん mailto:sage [2015/11/21(土) 11:13:41.85 ID:ZYL4H3PD.net]
>>260
計測したのは立派だがこんなマイクロベンチの結果でいいとかダメとかいうんじゃない。
この結果ならわかりやすさの方が100倍重要。
boxing/unboxingすれば多少遅くなるのは自明。それでも他の意味のある処理が入れば誤差で消える程度の差でしかない。

264 名前:デフォルトの名無しさん mailto:sage [2015/11/21(土) 11:21:35.01 ID:54xL0n/b.net]
その手のマイクロベンチは順番入れ替えたら結果変わったりするしなぁ。

265 名前:デフォルトの名無しさん mailto:sage [2015/11/21(土) 15:39:14.52 ID:uVehkYL0.net]
Scalaで書いたら

速いんじゃない?

266 名前:デフォルトの名無しさん mailto:sage [2015/11/21(土) 15:57:46.32 ID:ZYL4H3PD.net]
class Pair {
final double first;
final int second;
Pair(double first, int second) { this.first = first; this.second = second; }
}
double[] a = {2.0, 1.2, 8.5, 1.2};
int[] b = {1, 2, 3, 4};
IntStream.range(0, a.length).mapToObj(i -> new Pair(a[i], b[i])).sorted(Comparator.comparing(x -> x.first)).forEach(p -> System.out.println(p.second)); //=> 2 4 1 3

267 名前:デフォルトの名無しさん mailto:sage [2015/11/21(土) 15:59:47.79 ID:ZYL4H3PD.net]
Stream APIすげー

268 名前:デフォルトの名無しさん mailto:sage [2015/11/21(土) 16:03:43.15 ID:XbLnZXCG.net]
脳味噌がスカラー



269 名前:デフォルトの名無しさん mailto:sage [2015/11/21(土) 18:10:47.18 ID:ZYL4H3PD.net]
int[] sortedB = IntStream.range(0, a.length).mapToObj(i -> new Pair(a[i], b[i])).sorted(Comparator.comparing(p -> p.first)).mapToInt(p -> p.second).toArray();
Arrays.stream(sortedB).forEach(System.out::println); //=> 2, 4, 1, 3

270 名前:デフォルトの名無しさん mailto:sage [2015/11/21(土) 18:37:27.23 ID:ZYL4H3PD.net]
Streamを使うと >>256 はこう書ける
double[] a = {2.0, 1.2, 8.5, 1.2};
int[] b = {1, 2, 3, 4};
int[] sortedIndices = IntStream.range(0, a.length).mapToObj(i -> new Integer(i)).sorted((x, y) -> Double.compare(a[x], a[y])).mapToInt(Integer::intValue).toArray();
Arrays.stream(sortedIndices).forEach(i -> System.out.printf("%d %f %d\n", i, a[i], b[i])); //=> 2, 4, 1, 3

271 名前:デフォルトの名無しさん mailto:sage [2015/11/21(土) 18:50:04.06 ID:3veDbbsh.net]
boxingはnew IntegerじゃなくてInteger.valueOfでは?

272 名前:デフォルトの名無しさん [2015/11/21(土) 19:34:54.58 ID:ZYL4H3PD.net]
それがいいね

273 名前:デフォルトの名無しさん mailto:sage [2015/11/21(土) 22:17:52.84 ID:qD7sOA+h.net]
IntStreamにそのものずばりなboxed()てメソッドがだな

274 名前:デフォルトの名無しさん mailto:sage [2015/11/21(土) 22:44:41.50 ID:3veDbbsh.net]
なんかJava8ってすごい進化だね

275 名前:デフォルトの名無しさん mailto:sage [2015/11/22(日) 01:13:32.90 ID:/cPOsFnM.net]
interfaceがメソッドの実装持てるとか言う菱形継承思い出す機能とかね。

276 名前:デフォルトの名無しさん mailto:sage [2015/11/22(日) 01:31:23.97 ID:zwZfG106.net]
>>273
今からでもいいからextensionに変えてください…

277 名前:デフォルトの名無しさん mailto:sage [2015/11/22(日) 01:40:53.50 ID:/cPOsFnM.net]
とりあえずメソッド参照とラムダ式とStreamが便利すぎて感動しただけで満足したことにしてます。

278 名前:デフォルトの名無しさん [2015/11/22(日) 09:42:45.43 ID:kQ+s0aeG.net]
streamって処理重そう



279 名前:デフォルトの名無しさん mailto:sage [2015/11/22(日) 09:49:20.55 ID:PowSWGiN.net]
ScalaのTraitかい?

インターフェイスなのに、メソッドの実装も持っている

280 名前:デフォルトの名無しさん mailto:sage [2015/11/22(日) 10:35:41.68 ID:dHfinU55.net]
すっからかん






[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<260KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef