Java入門・初心者質問スレ Part.4 [無断転載禁止]©2ch.net

■ このスレッドは過去ログ倉庫に格納されています
2017/06/30(金) 22:14:16.54ID:W0OUnv8/
Java初心者のためのスレッドです。

※前スレ
Java入門・初心者質問スレ Part.3
http://mevius.2ch.net/test/read.cgi/tech/1491306071/
2017/07/30(日) 16:40:07.27ID:RBZmZf5e
>>183
ちょっとわかった。
new演算子で動的にメモリを確保してその中身を初期化するのがコンストラクタの役割だから、
コンストラクタは動的な文脈で呼び出されるのか。
2017/07/30(日) 17:32:09.96ID:pdhvmw2O
stream apiを使って
[1,1,2,2,3,3,3,1]
みたいなリストを
[1,2,3,1]
みたいに連続した同じ要素をまとめるコードはどう書けばいい?
2017/07/30(日) 17:35:55.57ID:pdhvmw2O
filterで1前の値見れたら楽なんだろうけど
2017/07/30(日) 17:37:48.11ID:pdhvmw2O
もしくは条件に合致した時だけreduceするとか
2017/07/30(日) 17:38:03.65ID:zcFf9TVa
>>185
distinct()を流れのどこかに挟む
2017/07/30(日) 17:38:50.17ID:zcFf9TVa
あ、これは駄目か、無視してくれ
190デフォルトの名無しさん
垢版 |
2017/07/30(日) 18:39:49.01ID:DLqAucgC
>>185
素朴に
https://paiza.io/projects/Y71AbNtG3ECyLuy4uhlyJw
2017/07/30(日) 18:56:29.36ID:xziOu8cb
>>174
中身の無い煽りはスルーでいいよ
料理のレシピを覚えても調理器具を使えないと料理は出来ないのと同じで
都度都度javaを覚える必要があります

いきなり開発環境のテンプレート見てわからないと思うから
ググって1つ1つ覚えるしかないかな
192デフォルトの名無しさん
垢版 |
2017/07/30(日) 18:59:48.32ID:DLqAucgC
>>185
インデックスで

int[] a = { 1, 1, 2, 2, 3, 3, 3, 1 };

IntStream.range(0, a.length)
  .filter(i -> i == 0 ? true : a[i - 1] != a[i])
  .map(i -> a[i])
  .forEach(System.out::println);
193デフォルトの名無しさん
垢版 |
2017/07/30(日) 19:01:39.65ID:DLqAucgC
||でよかったわ
2017/07/30(日) 19:37:41.52ID:r1emgWco
重複削除ならこんなの見つけたよ。
http://www.sejuku.net/blog/15704
stream使ってないが非常にシンプル。
2017/07/30(日) 19:38:22.75ID:r1emgWco
あ、だめか。最後も1か。
2017/07/30(日) 20:49:27.90ID:0PJrZm1n
やった!できた!
しかし、なんだか stream っぽさがない・・・
https://paiza.io/projects/2myMx4lAwWrdjufSLPq2fQ
2017/07/30(日) 21:04:08.55ID:w/kjlxMo
>>190
>>196

paiza.ioって、スゴいね!

こんな、便利なものがあったなんて知らなかったYo!!
2017/07/30(日) 21:26:46.37ID:9WmloTCT
無理やりstreamで実装するメリットが見当たらない
2017/07/30(日) 21:36:56.23ID:w/kjlxMo
でもまあ、お題が「streamapi」を使って、だからね
初心者スレとしてはメリットとかより、勉強になったかどうかだよね

もちろん
「このやり方の方が効率がいい」
ってのが明確な理由と共に示されれば、
それも勉強になるけどさ
2017/07/30(日) 21:44:50.49ID:pdhvmw2O
>>190
>>192
ありがとな
Stream api奥が深いわ
2017/07/30(日) 23:21:06.50ID:JAHw7kqq
スッキリ読みながら勉強の者だが、
プログラム言語って素晴らしいなあ
プロの方々はjavaをマスターして、効率よく業務に活かしているに違いない。
2017/07/30(日) 23:55:51.22ID:5i/HO5zm
>>99
mp3再生ソフト完成した?
2017/07/31(月) 08:18:37.92ID:LN83W0QK
質問するのにも敬語すら使えない馬鹿をいちいち相手にしてるからお前等は馬鹿なんだよ
重複削除するのにいちいちマッチングしたりストリーム使ったり馬鹿の代表かよお前等w
ほんと阿呆の肥溜めだな
2017/07/31(月) 08:21:06.63ID:2pZH8HVB
>>203
最高に天才なあなたのコートを拝見できませんか?
2017/07/31(月) 08:25:24.08ID:X8Y7EVM6
>>203
2chで敬語使えとか言うバカを久々に見たわ
不愉快だから黙ってろよ
2017/07/31(月) 08:30:53.93ID:LN83W0QK
レベル低い馬鹿の上に質問する側が敬語も使えないとかただの池沼なんだから
お前が黙って首吊ってさっさと死ねよ低能馬鹿のゴミ
2017/07/31(月) 08:36:53.63ID:pwRUpqlR
>>206
まあまあそんなに怒らないでください
2017/07/31(月) 08:57:46.56ID:2pZH8HVB
>>206
言葉づかいが最高に天才ですね
209デフォルトの名無しさん
垢版 |
2017/07/31(月) 14:22:15.80ID:mMpKpjgf
大きな大きなブーメランの映像が頭に思い浮かんだ
一体これはなんだったのだろうか

                          つづく
2017/07/31(月) 18:15:47.54ID:CdII1Abc
>>203
そこで、皆が誉め称えるようなコードをパッと示したら格好いいのにね
2017/07/31(月) 19:20:31.40ID:gHcyqZBx
Java大好きだし腐すつもりはまったくないから
怒らないで欲しいけど
他の言語を色々やったあとでJavaに戻ってきたら
StreamAPIなるもんがあって
それを有難がってる(?)人々が居て
若干腰抜かす

StreamAPIがダメっていう主張じゃなくて
Javaにはいらんやん、って主張
2017/07/31(月) 19:25:06.72ID:/XbzZj23
主張したいなら論拠を示してくれないと反論もできないんですが
2017/07/31(月) 19:26:34.94ID:gHcyqZBx
ごもっとも
論拠も根拠も特にないので単に感想に差し替えさせてください

んな感想はチラシの裏に書け?
今から書いてきます失礼いたしました
2017/07/31(月) 19:30:05.84ID:CdII1Abc
>>有難がってる(?)

有り難がってるようなレスはなかったと思うけど・・・

そもそも、ここは初心者スレだから、好奇心で色々と試してるってノリでしょ

ビックリする人がいることに驚いちゃうよ
2017/07/31(月) 19:39:08.58ID:W4UbSJlH
なんども書くような処理はモジュール化して再利用するって常識
Javaとか関係なしに当たり前のことをやってるのがstream api
これをなにか特別なものと考えて拒否感を持ったり崇拝する人はセンスがない
当たり前のように使おう
2017/07/31(月) 19:46:13.69ID:2pZH8HVB
必要になったら使うでいいよ
必要なのにアレルギーよろしく拒否るからややこしくなる
217デフォルトの名無しさん
垢版 |
2017/07/31(月) 22:11:44.32ID:3pgJ0wlK
class Aho {
 public static void main(String ... args) {
  System.out.println("質問するのにも敬語すら使えない馬鹿をいちいち相手にしてるからお前等は馬鹿なんだよ");
  System.out.println("重複削除するのにいちいちマッチングしたりストリーム使ったり馬鹿の代表かよお前等w");
  System.out.println("ほんと阿呆の肥溜めだな");
 }
}
218デフォルトの名無しさん
垢版 |
2017/07/31(月) 22:20:26.08ID:3pgJ0wlK
>>216
ま、そうだが、streamはある程度使って慣れないと使い所がよくわからないもののように思うな。
何せループでも実現できちゃうからな。そっちで慣れてる人は中々手を出さないのではないか?
他の言語で多用したいた場合はJavaでも使えて便利みたいに感じるかも知れんが。
2017/08/01(火) 00:38:37.91ID:VkAUO0Vr
お前みたい馬鹿のために用意されたものなんだからありがたく使っとけよ阿呆
2017/08/01(火) 01:48:00.02ID:sayqMREC
C#, Java の、Parallel Stream で、複数コアを使える

Node.js は、JavaScript だから、シングルスレッドだろ。
数値計算などで、複数コアを使いたい場合に、困る
221デフォルトの名無しさん
垢版 |
2017/08/01(火) 02:41:43.75ID:dPOYfvBU
https://paiza.io/projects/6-WpEz3ixG7UEfSQftO6cQ
2017/08/01(火) 03:06:20.33ID:CkTSkgtj
ハーイ(^O^)/
2017/08/01(火) 07:44:11.55ID:4BLXFqGa
プログラミングそのものを愛するか、プログラミングによって作られるものを愛するかの違いです
224デフォルトの名無しさん
垢版 |
2017/08/01(火) 11:31:28.30ID:d0oFEyKM
愛されるより愛したい
2017/08/01(火) 12:14:27.48ID:SHR8K/xw
>>223
何に対する意見だよw

仮にstreamapiを好むかどうかにしても、プログラミング自体が好きでもstreamapiが好きとも限らねえぞw

違いです、とかw
2017/08/01(火) 12:21:01.88ID:j5u606Kq
>>175
お前はもう来るなよ。スレの主旨から言ってお前の言動は不適当。
2017/08/01(火) 12:47:57.63ID:SHR8K/xw
もっと近いレスに香ばしいのがいるのに、なかなかの粘着さんだなw
2017/08/01(火) 19:48:41.43ID:QsBohnup
a = [1,1,2,2,3,3,3,1]
p a.chunk {|x| x}.map {|k, a| k}

rubyだとたったこんだけだよね?

> 他の言語で多用したいた場合はJavaでも使えて便利みたいに感じるかも知れんが。

逆ぅ!
如何せん貧相すぎてね
村の子が村のお祭り誇らしげ、みたいな
ブスが化粧してお澄まししてる、みたいな
顔には出さないけど、胸がチクッとするんです…

昨日も言ったけどJavaは好きだし
Javaには感謝すらしているし
ディスろうという目的ではない
2017/08/01(火) 20:24:37.33ID:5II4tDgL
ちょっと短く書くためにいろいろ犠牲にしてるrubyこそ着飾ったブスに思えるなぁ
2017/08/01(火) 22:20:27.40ID:jPOZmE88
世の中にはブス専もいるわけだしそこまで行くと主観の問題だわな
2017/08/01(火) 22:39:38.01ID:r/kmkyLl
比べる対象がスクリプト言語しかも動的型付け言語なのはさすがにおかしい

JavaがJavaの良さを殺さないように意識しながらStream APIを導入する必要があったのと話が違いすぎる
232デフォルトの名無しさん
垢版 |
2017/08/01(火) 22:50:43.40ID:zlxlSjkN
>>228
Javaならこんだけなんだが?
https://paiza.io/projects/fSO_sipgTquVIHLm5cgAqA
233デフォルトの名無しさん
垢版 |
2017/08/01(火) 22:57:16.20ID:zlxlSjkN
>>231
コレクションライブラリにメソッド用意することはできるわけで
ラムダ式は処理を丸投げできるハイパーリッチなコレクションと
組み合わせてこそ進化を発揮する

今のJavaの標準ライブラリがショボいことは事実だ

逆に言うとJavaはもっと成長する余地があるってこと
いくらきれいな白鳥でも・・・あとはわかるだろ、そういうことだ
2017/08/01(火) 23:05:18.35ID:QsBohnup
>>232
(´・ω・`)   n
⌒`γ´⌒`ヽ( E)
( .人 .人 γ /
=(こ/こ/ `^´  
)に/こ(
2017/08/02(水) 15:22:29.01ID:mxNq7Aj6
8がつ2にち(すいようび)
きょうは、すっきりわかるじゃば入もんを
330ページまでよみました。

ゆうしゃとおばけきのこをうみだしました。
とてもおもしろかったです。
2017/08/02(水) 18:18:04.54ID:xzl419Dl
>>232さんに触発されて書いた
OCamlならこんだけ
https://ideone.com/JhDj2U

「連続した同じ要素をまとめ」るコード
ただし、rubyのものにくらべ簡易的なchunk
しかもchunk関数はパクり
ぐぐって丁度いいの見っけたから拝借した

だから何やねん!って言うのは我慢してほしい(´・ω・`)
2017/08/02(水) 19:08:45.26ID:JD5jVN3c
そういうフィルタが既にあるかどうかよりも簡単に拡張して実装できるかの方が言語的には重要だろう
C#のLinqはyield returnと拡張メソッドのおかげでLinq拡張がすごくやりやすい
それに比べるとJavaのStreamは……
2017/08/02(水) 19:43:38.64ID:SsqUphS+
関数型厨御用達言語Haskell
https://ideone.com/JxtHSz
2017/08/03(木) 00:25:37.27ID:TTlJ2U7E
>>237
C#ならどんだけ?
240デフォルトの名無しさん
垢版 |
2017/08/03(木) 22:30:56.72ID:2xv/pvUq
>>239
へい
https://paiza.io/projects/9upRElS3dQublPUezUge2Q

C#7ならタプルを(a, b)って書けるからもっと簡単になる
おっぱいざのコンパイラ古い
2017/08/04(金) 00:26:47.86ID:US5e0j3V
>>240
(´・ω・`)   n
⌒`γ´⌒`ヽ( E)
( .人 .人 γ /
=(こ/こ/ `^´  
)に/こ(
2017/08/04(金) 19:10:37.95ID:US5e0j3V
> 簡単に拡張して実装できるかの方が言語的には重要

https://ideone.com/Fegs0C
rubyも拡張しやすいほうなのかな?
よく分からないまま書いたので、なにかおかしいかもしれない
最初のほうでself.dupなんていきなりしてよかったのかは不明
(Enumeratorを返すメソッド作成の作法的に)

なんだかんだ申しましたが
StreamAPIがどうなっていくかは
今後静かに見守って行きたいと思います 完
243デフォルトの名無しさん
垢版 |
2017/08/04(金) 20:57:07.88ID:4RPAmR0Z
          完




 
2017/08/05(土) 20:13:27.69ID:CKfofrut
きょうはとしょかんで
スッキリのメソッドをべんきょうしました。

メソッドはとてもむずかしかったです。
となりにこうこう2ねんせいが
べんきょうしていました。
あしたもとしょかんにいきたいです。
2017/08/05(土) 20:50:07.33ID:NrXpiBRr
おっさん乙
2017/08/06(日) 04:58:57.45ID:PQlf2UE9
>>244
となりに
→となりで

にほんごも、もっとがんばりましょう
2017/08/08(火) 12:19:00.25ID:ybbt0LUq
初歩的な質問すみません

おじいちゃんクラス
親クラス
子クラス

という継承関係があってメンバーの名前が統一されてる時
子クラスから親のメンバーを利用するにはsuperを使うのは分かりましたが
おじいちゃんのメンバーを利用するにはどうしたら良いんですか?
2017/08/08(火) 12:26:11.98ID:It7rbX8+
それはウルトラ、じゃなくて、super.super. って使えない?
2017/08/08(火) 12:57:35.54ID:EzmBL1dy
superはただの予約語なんだから使えるわけがない
馬鹿かおまえは
2017/08/08(火) 13:04:24.09ID:It7rbX8+
予約語かどうかの問題ではなく単にそう作ってあるかどうかの問題では?
だってそういう言語作ろうと思えば作れるでしょ。
2017/08/08(火) 13:06:01.15ID:EzmBL1dy
そう作ってないから予約語なんだよ
馬鹿は回答側に回るな馬鹿
252デフォルトの名無しさん
垢版 |
2017/08/08(火) 13:32:02.75ID:It7rbX8+
はいはい。

そういやキャストすればできるな。
253デフォルトの名無しさん
垢版 |
2017/08/08(火) 13:37:26.20ID:It7rbX8+
こんなの。
ただしクラス名わかってないとできない。

class A {
int a = 1;
}
class B extends A {
int a = 2;
}
class C extends B {
int a = 3;
int get() {
return ((A) this).a;
}
}
2017/08/08(火) 13:45:04.54ID:EzmBL1dy
コードも酷すぎるからお前はもう二度と書き込まん方がいい
初心者が初心者を低レベルに導く流れはやめろ
2017/08/08(火) 15:06:55.26ID:qcoC0xc5
>>247
そっちを使う、とかじゃなくて
子クラスがそのように実装される、というだけ
2017/08/08(火) 15:07:58.73ID:qcoC0xc5
ID:EzmBL1dyが意味不明すぎる
257デフォルトの名無しさん
垢版 |
2017/08/08(火) 15:45:07.99ID:lxfir1A5
何かあったのだろう
2017/08/08(火) 16:05:06.76ID:nQaUo2VV
全くプログラミング経験無しで
なんとなくjava始めたけど
そもそも論としてこの選択は正しかったのだろうか
259デフォルトの名無しさん
垢版 |
2017/08/08(火) 18:14:28.51ID:tkRtIBMh
さあなあ。今後何やるかにもよるんじゃないか?
2017/08/08(火) 19:59:14.74ID:p/Km8czM
今、学生で、普通のサラリーマンになる予定なら、
エクセルやアクセスのマクロ(vba)が書ける方が職場で重宝されそうだけどね

将来androidアプリを作りたいなら、「とりあえずjava」であってると思うけど
2017/08/08(火) 21:13:19.41ID:qcoC0xc5
>>258
いいんじゃないの
LLとか便利だけど、その面倒な部分の大事さとか学べない

ひとつの言語だけで終わるなら用途によってもっといい言語がありそう
2017/08/08(火) 22:06:18.12ID:GW2MTj/k
>>247ですが、>>253さんのコード目からウロコです!
thisもキャストできるんですね
不勉強なので>>255さんの仰る事が少し難しいのですが、インスタンスだから、ということでしょうか
今丁度その辺りを勉強しているところなので正しく理解できるよう頑張ります
皆さんありがとうございました
2017/08/09(水) 08:33:32.83ID:IlLjAgAU
ありがとう。
どうやらjavaを選択したことは間違いではなかった様子。
まだfor構文だが頑張る
2017/08/09(水) 23:08:12.69ID:LMnBr9ad
forいいじゃん
個人的に、Javaで書くときはなるべく質素に書くのが似合ってる気がする
拡張forとかfroEachとかStreamAPIとか言わずに
for (int i = 0; i < a.length; i++)の形が美しいとすら思う
単に個人的な意見です
2017/08/09(水) 23:59:14.48ID:eM0BjlR2
美しいかどうかは個人の感覚だけど
短く楽に書けて、読みやすいのはメソッドチェインの方かな
2017/08/10(木) 00:33:49.18ID:3830aR0n
全部Iteratorで書きたいわ
2017/08/10(木) 06:49:53.58ID:7fXn0jIL
個人的な意見をごり押ししていいなら無駄なカウンタ変数は美しくない
変数が再代入されるのもできる限り避けたい
よってforはあまり使わない
2017/08/10(木) 16:31:24.34ID:q3Q5gWCj
内部ではカウントしてそうだけどな
2017/08/10(木) 19:01:50.13ID:nhvX9c4e
カウントなどというバグの原因は内部でやらせておくに限る
2017/08/10(木) 19:09:12.83ID:d/6ciPxh
カウントのバグ、みたいなもんを針小棒大に扱って見せても白けるだけ
2017/08/10(木) 19:26:16.34ID:9td2XcHM
処理速度はともかく数字への無駄な依存をなくすことが悪いことのはずない
チューニングはボトルネックと判明してからでも遅くはない
2017/08/10(木) 19:32:52.40ID:Jc4Vqs2x
ループ書くと後々必ずループの中身を肥大化させるバカが居からなるべくループは書かない
2017/08/10(木) 22:48:58.06ID:0lb9vf6H
>>272
それ例えばどんなん?
2017/08/10(木) 23:18:34.33ID:7fXn0jIL
終わらないループ
終わらないif文
終わらないメソッド
使い回され続ける変数
共通部分の大量コピペ

業務プログラムあるあるですな
2017/08/11(金) 01:35:32.02ID:dX0SM6NL
超次元宇宙で業務をしておられるようで
276デフォルトの名無しさん
垢版 |
2017/08/11(金) 11:33:31.61ID:VT8Bdzbq
仕様を決めつけて最適化しすぎると保守性が下がるんだけどな。
2017/08/11(金) 12:10:31.38ID:BDXv2ULb
共通部分なんて程度で共通化すべきではない
それはたぶんたまたま同じなだけ

どうせすぐここだけ変えてほしいって要求が来てあっという間にIF文まみれになる
最初から別につくったほうがまし
2017/08/11(金) 13:20:41.56ID:3EZq4DC0
>>276
あるあるネタだね
画面ごとにデータ取得SQLを最適化したり頭悪いわ
2017/08/11(金) 17:20:44.31ID:4bbWTV9L
372仕様書無しさん2017/08/11(金) 10:31:43.41
フリーランスで検索すると引っかかる零細ITがやっているサイトはだめだ。
高額に見せているけど実際は50万前後
JIET加入した方がいいよ。案件は毎日千件以上末端価格は60万円 平凡な稼働時間の80万円の案件もある。
ユー子が求人をだしてる。名刺も渡せる。ユー子に名刺が渡せるんだぞ。夢のようだ

それらの案件まさぐってHPで転売していたのが零細ITがやるフリーランスサイト

自称エージェントはJIETから流れてくる案件を転売してるだけだった。
JIETに加入すれば誰でも案件に応募することができた。収入が40万50万台にならなくて済む

473非決定性名無しさん2017/08/03(木) 15:21:30.71

JIETに加入すれば誰でも3次60万からスタートだ。フリーランスのサイトをやってる
自称エージェントもそこから案件情報を取得しきてる。サイトで60万で釣って40万から55万の
間でやらしている。
2017/08/11(金) 17:27:29.24ID:uuzmQ1J4
>>277
オブジェクト指向で書けよ
2017/08/11(金) 17:38:47.68ID:uuzmQ1J4
>>276
クライアントが拘りの部分だけ設計時に最適化したがるんだよな
そんなとこ運用してからでいいだろというとこ

全部設計してくれてコーディングだけでいいなら任せるけどさ
2017/08/11(金) 18:43:57.91ID:JLvLp2X8
>>280
たまたま同じ部分をIFでなく継承でまとめたからって、おこる問題は一緒だ
むしろ継承はIF文より汎用性がないからIF文よりずっと悲惨なことになる

すなおにコピペで別クラスにしとこう
2017/08/11(金) 20:13:57.80ID:uuzmQ1J4
>>282
初心者だと応用効かないか条件分岐の代わりにしか使えないとか

でもそもそもそういうこと言ってるんじゃないんだよ
ちゃんとオブジェクト指向わかってるば、たまたま共通のコードとかじゃなくて、設計段階で本質的に同じものでまとめて書ける
お前のはサブルーチンとして使ってるだけだろ
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

ニューススポーツなんでも実況