- 1 名前:Javaが初心者 mailto:sage [2008/05/12(月) 03:05:27 ]
- プログラミング言語Javaに関する質問スレです。
JavaScript, Ajaxの質問は、ここでは受け付けていません。 Web製作管理 pc11.2ch.net/hp/ Webプログラミング pc11.2ch.net/php/ をご利用下さい。 よくある質問 ・「コマンドまたはファイル名が違います」 「'javac' は、内部コマンドまたは外部コマンド、 操作可能なプログラムまたはバッチ ファイルとして認識されていません。」 「Exception in thread "main" java.lang.NoClassDefFoundError: 」 www.wikiroom.com/java/?path,classpath ・String に == は使うな。equals() を使え。 ・「\12288 は不正な文字です。」 文字リテラル以外で全角スペースは使えません。半角スペースに。 ・その他の質問→「APIのjavadoc見ろ」 前スレッド 【初心者】Java質問・相談スレッド114【大歓迎】 pc11.2ch.net/test/read.cgi/tech/1207385614/ 次スレは>>990あたりで。 過去ログ、関連スレッド、よくある質問とその回答など、 質問をする前に、貴方が見なければならないサイトについての情報は、 下のwikiのページにまとめてあります。 www.wikiroom.com/java/
- 320 名前:デフォルトの名無しさん mailto:sage [2008/05/21(水) 02:07:02 ]
- HashSet クラスには get だの put だのいうメソッドはないから無理。
- 321 名前:デフォルトの名無しさん mailto:sage [2008/05/21(水) 07:09:50 ]
- HP-UXで稼動するWebシステムの保守を担当することになり
Java未経験ながらいきなり画面の追加をやらされることになりました。 (Webサーバ:SunOneでアプリサーバ:WebOTX、DB:Oracleです) Javaは過去に勉強したこともありJavaDocなど使えば、何とかソースは読めるのですが、 ソースを格納するディレクトリの構成がイマイチよくわかりません。 なぜこのファイルはここのディレクトリに入れるのか? とか、 このディレクトリに入れなければならないってのはどこで定義づけられているの? というようなことです。 ソースの読み方のような入門書じゃなくて、 Webサーバのディレクトリ構成などJavaでのサーバ構築についての 書籍やアドバイスがあれば教えていただきたく。 「UNIXでJava使ってサーバ立てるならこれは基本書だろ!」 というようなものがあれば、ぜひ読んでみたいのですが。
- 322 名前:デフォルトの名無しさん mailto:sage [2008/05/21(水) 07:34:32 ]
- そんなんプロジェクト毎のルールだろ?
仕様書嫁よ。
- 323 名前:デフォルトの名無しさん mailto:sage [2008/05/21(水) 09:51:11 ]
- WEB-INFとかマニフェストファイルのことじゃないの?
いままでの開発をどうやってたのか知らないけど、 最近のIDEとかだと配備までやってくれるよ
- 324 名前:デフォルトの名無しさん mailto:sage [2008/05/21(水) 09:56:55 ]
- アプリケーションサーバのマニュアルを読め、で済む話。
- 325 名前:デフォルトの名無しさん [2008/05/21(水) 14:15:58 ]
- 特定の文字列が、作成可能な『ファイル』を示しているかどうかを判定するにはどうすればいいでしょう?
……いえ、以下のようなコードを書いてみたんですが、「a:\backup\」がtrueになるんですよ。 public boolean check(String fileName){ File tempFile = new File(fileName); try{ tempFile.createNewFile(); if(tempFile.exists() == false || tempFile.isFile() == false){ return false; } tempFile.delete(); return true; }catch (IOException e){ return false; } } EclipseのデバッガでcreateNewFileまでで止めてみると、tempFileの中身は「a:\backup」として表示されています。 どうやら最後のパス区切りは無視されてるようなふいんき(……素でtypoした(汗))です。 これは「文字列の最後の一文字がパス区切りではないこと」で判定するしかないのかな?
- 326 名前:デフォルトの名無しさん mailto:sage [2008/05/21(水) 15:22:28 ]
- >特定の文字列が、作成可能な『ファイル』を示しているかどうか
イミフ。ファイル名の事? OS依存。 それとも任意のファイル名でファイルが作成できるかって事? OS依存。
- 327 名前:デフォルトの名無しさん mailto:sage [2008/05/21(水) 16:49:11 ]
- >>325
javadoc で createNewFile を確認しましたか?(特に戻り値を) File は単純ではないクラスですし、扱い方自体を確認した方が良いと思います。
- 328 名前: mailto:sage [2008/05/21(水) 18:43:41 ]
- パソコン買おうかと思ってるんだけど、QuadのCPU買ってマルチスレッドのプログラミングをJavaで組んだら
WindowsXPでもマルチコアに対応したプログラムになってくれるんですか?
- 329 名前:デフォルトの名無しさん mailto:sage [2008/05/21(水) 18:50:29 ]
- javaのマルチCPU(コア)対応って具体的にはどこら辺まで対応してるんだろうね。
- 330 名前:325 mailto:sage [2008/05/21(水) 20:25:07 ]
- >>326
失礼しました。つまり「a:\backup\」と指定されたら「backup\なんて名前のファイルは作れない。\はファイル名には使えないし、ディレクトリ名じゃなくファイル名を指定しろ」というチェックをしたかったのですよ。 >>325のコードにすれば、ファイル名に使える文字だけが含まれているかと「実際に書き込めるか」が一緒にチェックできると思ったのですが。 最後の「\」を無視して「a:\backup」と「a:\backup\」を等価に扱ってしまうのは、Javaの(WindowsのOS依存の部分の)仕様なのでしょうか? >>327 はい、trueなら作成成功、falseが帰ってきたら既に存在する、ということですよね? 既に存在する場合の処理はもう少し詰める必要があると思いますが(canWriteを使えばいいかな?)、まずはファイル名の問題をお聞きしようと思い、あのようなコードにした次第です。 ステップ実行をさせると(>>325で書いたとおり)createNewFileの後にa:\backupが作られてしまっているのです。 これは(デバッガの表示どおり) new Fileした時点で最後の「\」を無視して「a:\backup」としてFileのインスタンスが作られてしまっている、ということではないのでしょうか? ちなみに、他の不正な文字(backup*など)を指定すると、意図したとおりにIOExceptionで落ちるようです。
- 331 名前:325 mailto:sage [2008/05/21(水) 20:31:51 ]
- ……失礼。
書き込んだ直後に気が付いたのですが、Fileの仕組みだと、「a:\backup」と「a:\backup\」を等価に扱ってもかまわないのですね。 Fileが扱うのはあくまでパスであり、(まだ存在しない場合)そのパスがディレクトリを示すのかファイルを示すのかは、mkDirするかcreateFileするかによって(後で)分かれる。 よって両者は区別する必要は無いので、「a:\backup」と「a:\backup\」は等価に扱ってよい、という理解でかまわないでしょうか?
- 332 名前:デフォルトの名無しさん mailto:sage [2008/05/21(水) 22:20:02 ]
- >>328
ちゃんとスレッドを使えばそうなる
- 333 名前:デフォルトの名無しさん mailto:sage [2008/05/21(水) 22:24:12 ]
- Point型に文字を四つ格納したいんだけどどうすればいいの?
- 334 名前:デフォルトの名無しさん [2008/05/21(水) 22:49:35 ]
- 質問です。
JScrollPane を使って、エクセルのように動的にサイズを変えるようにしたいんですけど どうしたらいいでしょう? JScrollPane のスクロールバーが端の状態で左右のボタンを押したら 自動でサイズが拡張する感じです。 JScrollPane つかうと無理なんでしょうか?
- 335 名前:334 [2008/05/21(水) 23:10:21 ]
- JScrollPane から JScrollBar とってこれるんですね。
でも、JScrollBar のノブが端にあるときにボタンを押しても AdjustmentEvent は投げないみたいなんで、だめそうですね・・・
- 336 名前:デフォルトの名無しさん mailto:sage [2008/05/21(水) 23:26:21 ]
- >>328
なる。
- 337 名前:デフォルトの名無しさん mailto:sage [2008/05/22(木) 01:16:05 ]
- すみませんアノテーションについての質問です
クラスとかフィールドとかメソッドにつけたアノテーションは リフレクション使って取り出すのはわかったのですが ローカル変数につけたアノテーションの取得方法がわかりません ご存知の方お教えください、お願いします
- 338 名前:デフォルトの名無しさん mailto:sage [2008/05/22(木) 01:34:19 ]
- 無理っす
- 339 名前:デフォルトの名無しさん [2008/05/22(木) 01:51:31 ]
- javaからMySQLに接続し、任意のテーブルの列数を取得したいのですが
PHPみたいにmysql_num_rows()みたいなメソッドはありますか? javadocのjava.sql.*の項を参照したのですが見つからなかったので。
- 340 名前:デフォルトの名無しさん mailto:sage [2008/05/22(木) 01:54:40 ]
- select countすれば?
- 341 名前:339 [2008/05/22(木) 02:01:19 ]
- >>340
javaでってことに考え過ぎてそっちの方をすっかり考えてませんでした 試してみます。ありがとうございました。
- 342 名前: mailto:sage [2008/05/22(木) 04:41:06 ]
- >>332 >>336
どうもありがとう。
- 343 名前:デフォルトの名無しさん mailto:sage [2008/05/22(木) 08:41:01 ]
-
ttp://mainichi.jp/enta/geinou/graph/200805/21/?inb=yt ネット証券会社が主催するFX(外国為替証拠金)取引コンテストの発表会が21日、都内で行われた。 コンテストに特別参加するグラビアアイドルの滝沢乃南さん、山本彩乃さん、折原みかさん、山口愛実さん、佐々木梨絵さん の5人が顔をそろえ、シストレに挑戦する意気込みなどを語った。 同コンテストは、自分で作成したトレードソフトの機能を評価する「シストレソフト部門」と、 FX初心者でも安心の仮想マネーを使った取引を体験できる「トレード部門」で賞金総額2000万円を争う。 シストレ優秀ソフトは、最高2000万円までの範囲内で買い取りの可能性もあるという。登録受付は22日から。 仮想取引は6月2日〜09年4月30日までとなっている。 ▼トレード部門 初期資産500万円で、デモ取引のトレード収益を競っていただきます。 https://www.click-sec.com/corp/guide/demo/ ttp://www.yomiuri.co.jp/komachi/news/mixnews/20080521ok02.htm ▼賞金総額 ■社長特別賞(シストレソフト買取価格) 10,000,000円 ●シストレソフト部門賞 1位300万円 2位100万円 3位50万円 ●トレード部門賞 1位300万円 2位100万円 3位50万円 ●前期MVP賞 50万円 ●後期MVP賞 50万円
- 344 名前:デフォルトの名無しさん [2008/05/22(木) 14:52:37 ]
- おい、おまえら。俺様が、Java入門者向けに環境変数自動設定ツール作ってやったんだけど、
Vectorにうpしようか迷ってる。まんどくさいんだけど、うぷしたらダウソする人いるかな?
- 345 名前:デフォルトの名無しさん mailto:sage [2008/05/22(木) 15:01:25 ]
- 入門者に自動で設定させんな
- 346 名前:デフォルトの名無しさん mailto:sage [2008/05/22(木) 16:34:46 ]
- ていうか作らなくても既にそういうバッチがあった気がする。
- 347 名前:デフォルトの名無しさん mailto:sage [2008/05/22(木) 16:53:15 ]
- っていうかNetBeansとか入れれば環境変数なんて
設定しなくていいし
- 348 名前:デフォルトの名無しさん mailto:sage [2008/05/22(木) 20:48:59 ]
- JSPでDecimalFormatを使うために下のような指定を行い、
<%@ page import="java.lang.Object.*" %> 下記を書いたのですが、下のようなエラーになってしまいます。 DecimalFormat form = new DecimalFormat(); form.applyPattern("#,###"); int i1 = 20000; out.println(form.format(i1)); DecimalFormat cannot be resolved to a type どなたか解決策を教えていただけないでしょうか。 もしかしてインポートするクラスが間違ってたりするのでしょうか?
- 349 名前:デフォルトの名無しさん mailto:sage [2008/05/22(木) 20:51:33 ]
- お騒がせしました、、import java.text.*;で行けましたorz
- 350 名前:デフォルトの名無しさん mailto:sage [2008/05/22(木) 22:34:10 ]
- java のプロファイラで、「今はこれを使うのがベスト」ってなんだろう。
お勧めがあれば教えてください。 自分がググって見つけたこと ・Eclipse プロファイラプラグインは、開発が止まっていて Eclipse 3.3 に対応していないと聞いた。 ・Eclipse TPTP のプロファイラは、重すぎてうんこ というのを ぐぐると見かける。 ・NetBeans 6.1 のプロファイラがいいらしい。 IDE 統合型でない場合は、HPjmeter があるが(これはつかったことがある)、 これくらいでしょうか。
- 351 名前:デフォルトの名無しさん [2008/05/23(金) 00:16:20 ]
- インターフェースを実装したクラスのメソッドに継承もとのコメントを転写したいのですが
何か簡単な方法はないでしょうか?
- 352 名前:デフォルトの名無しさん mailto:sage [2008/05/23(金) 00:52:36 ]
- Ctrl+C V
- 353 名前:デフォルトの名無しさん [2008/05/23(金) 00:54:32 ]
- >>352
何個もあるのでツールとか使って1回でさくっとできる方法でお願いします。
- 354 名前:デフォルトの名無しさん mailto:sage [2008/05/23(金) 02:52:05 ]
- コピペは最も代表的なアンチパターン
- 355 名前:デフォルトの名無しさん mailto:sage [2008/05/23(金) 03:24:50 ]
- >351
何も書かないこと。Eclipse3.3.2 は確認。 どうしてもコメントを書きたいなら、javadocに察知されないように気をつけて。 そういうことではない?
- 356 名前:デフォルトの名無しさん mailto:sage [2008/05/23(金) 11:02:47 ]
- 前スレで20桁以上の計算をしたいと相談したとき、BigDecimalやBigIntegerを使うようにアドバイスをいただいた者です。
今度はiアプリで20桁以上の整数の計算をしたいのですがどういう風にすればいいでしょうか? ググってみるとDoJaではBigIntegerが使えないという記述を見つけたので相談しました。 よろしくお願いします。
- 357 名前:デフォルトの名無しさん mailto:sage [2008/05/23(金) 11:52:02 ]
- 自分で実装するしか
- 358 名前:デフォルトの名無しさん mailto:sage [2008/05/23(金) 13:02:17 ]
- >>356
BigIntegerのソースそのまま使うとかw
- 359 名前:デフォルトの名無しさん mailto:sage [2008/05/23(金) 13:05:33 ]
- そしてGPLに感染、と。
- 360 名前:デフォルトの名無しさん mailto:sage [2008/05/23(金) 14:58:29 ]
- OpenJDKはクラスパス例外付きだろPhoneMEがクラスパス例外なしだ。
- 361 名前:デフォルトの名無しさん mailto:sage [2008/05/23(金) 15:22:37 ]
- java.mathパッケージのままだとライセンス上問題でるだろうし
パッケージ改変したり部分的にパクった場合はクラスパス例外適用されんだろ。
- 362 名前:デフォルトの名無しさん [2008/05/23(金) 16:24:29 ]
- とっても基本的なことなんだが、
なんで int i=2; String k; String l; k="a8"; l="a" + i; とすると、なんで、k!=lになるんでしょう。
- 363 名前:デフォルトの名無しさん [2008/05/23(金) 16:25:32 ]
- 間違えた。
int i=2; String k; String l; k="a2"; l="a" + i; こちらです。 よろしくお願いいたします。
- 364 名前:デフォルトの名無しさん [2008/05/23(金) 16:25:59 ]
- 間違えた。
int i=2; String k; String l; k="a2"; l="a" + i; こちらです。 よろしくお願いいたします。
- 365 名前:デフォルトの名無しさん mailto:sage [2008/05/23(金) 16:28:14 ]
- この違いを勉強しろ
k.equals( l ) → true k == l →false
- 366 名前:デフォルトの名無しさん mailto:sage [2008/05/23(金) 16:29:31 ]
- >>363
>>1
- 367 名前:デフォルトの名無しさん [2008/05/23(金) 16:29:39 ]
- ちなみに、こちらだと、str1==str2になり、ほかは等しくなりません。
2=3なら気持ちが分からんでもないけど・・・ String str1 = "aaa1"; String str2 = "aaa" + 1; String str3 = "aaa" + String.valueOf(1); if (str1==str2){System.out.println("str1=str2");} if (str1==str3){System.out.println("str1=str3");} if (str3==str2){System.out.println("str3=str2");}
- 368 名前:デフォルトの名無しさん [2008/05/23(金) 16:34:18 ]
- 初心者の質問なんですけど
2次配列に値を入れたいのですが、 例えば・・・ int a[][] = new int[10][10]; a[][] ={ {1,1,0,1,1,1,1,2,1,1}, {1,3,1,1,1,4,1,1,1,1}, {7,1,1,5,1,1,1,6,1,1}, ・ ・ ・ { } }; こんな感じで 要素の殆ど同じ数が占めている データを2次配列に入れたいんです。 どうやったら綺麗に力技じゃなく入力できますか?
- 369 名前:デフォルトの名無しさん mailto:sage [2008/05/23(金) 16:36:00 ]
- 数字に規則性があるならできるけど、それ以外はしらね
- 370 名前:デフォルトの名無しさん [2008/05/23(金) 16:36:42 ]
- >>365-366
ありがとうございます。 勉強したが、やはり、>>367が理解できん。 リテラル値をそのまんま突っ込んでいるから実体に反映されてるんかなぁ。
- 371 名前:デフォルトの名無しさん mailto:sage [2008/05/23(金) 16:37:07 ]
- >>367
javac様はコンパイル中に「"aaa" + 1」を見て「両方とも定数だからい ま1つの文字列にしちゃおう」と考える。「"aaa" + String.valueOf(1)」 は「なんか関数呼び出しがあるからコンパイル時にはどうしようもない よね」と考える。
- 372 名前:デフォルトの名無しさん mailto:sage [2008/05/23(金) 16:38:34 ]
- >>370
定数式とかString#intern()でぐぐれ。
- 373 名前:デフォルトの名無しさん mailto:sage [2008/05/23(金) 16:43:06 ]
- >367
定数としてコンパイル可能な String のうち、同値になるものが同じインスタンスとされてるだけ。 >363 の例なら、int i=2 を final int i=2 とすれば、k==l は true となる。
- 374 名前:デフォルトの名無しさん [2008/05/23(金) 16:48:42 ]
- >>369
隣接行列を2次配列にしたいんですけど ノード数が100個以上あって、 エッジが繋がっている部分に重みがあって エッジが繋がっていない部分を無限大の重みを付けたいんです。 規則性はあんまりないです。 ちなみに駅間の最短距離を求めるプログラムで利用したいんです。 データは隣駅までの距離です。
- 375 名前:デフォルトの名無しさん mailto:sage [2008/05/23(金) 16:50:02 ]
- >>368
何をもって綺麗とか力技とかと評価するのか知らないが、 ほとんどを占めている数を配列全体に(Arrays.fillとかで)入れておいて、 配列内の位置とその値のペアで(配列やコレクションで)持っておいたものを代入するとか。
- 376 名前:デフォルトの名無しさん mailto:sage [2008/05/23(金) 16:51:44 ]
- >368
java.util.Arrays.fill >374 規則性が無いものを "計算機" で処理しよう、とな。 そこに妙な説明が書けるんだから、その通り実装すれば良いでしょう。
- 377 名前:デフォルトの名無しさん mailto:sage [2008/05/23(金) 16:55:35 ]
- >>374
隣接行列はそういうスパースなグラフでは表現時にメモリの無駄が多いので、 他の表現方法で接続データを持っておいて(隣接リストとか)、 それをプログラム内で隣接行列に展開するようにするとか。
- 378 名前:デフォルトの名無しさん mailto:sage [2008/05/23(金) 17:08:26 ]
- メモリの無駄が多い→同じ情報が繰り返し出てきてもたつき感がある
- 379 名前:デフォルトの名無しさん [2008/05/23(金) 17:22:18 ]
- >>371-373
ok danke. 少しだけavacの気持ちが分かりました。
- 380 名前:デフォルトの名無しさん [2008/05/24(土) 00:00:25 ]
- enum ってなんて読むのですか?
- 381 名前:デフォルトの名無しさん mailto:sage [2008/05/24(土) 00:53:27 ]
- >>380
コミュニケーションする相手とのコンセンサスが取れているのならどんな読み方でもどうぞ。 enumはenumeration(またはその派生形)の略なので元の言葉の発音を基にするか、 enumそのものの綴りを連想できるような読み方にするかすればいいと思うよ。
- 382 名前:デフォルトの名無しさん [2008/05/24(土) 01:11:12 ]
- ファイルに入力されてるなら
そこから読み取るっていうこともありえるけど・・・
- 383 名前:デフォルトの名無しさん mailto:sage [2008/05/24(土) 01:44:02 ]
- AWTのTextFieldで右詰めにするのってできないんでしょうか??
どうやったらいいのか調べてもさっぱわかりません。。。 SwingならsetHorizontalAlignment使えばいいんですが、AWTでのやりかたをどなたかご教授願えませんかm(_ _)m
- 384 名前:デフォルトの名無しさん [2008/05/24(土) 02:05:43 ]
- >>381
ありがとね
- 385 名前:デフォルトの名無しさん mailto:sage [2008/05/24(土) 02:23:38 ]
- LayoutManagerを無効にしたらTextField(5)とかいう風に列の幅を指定しても
結局そのサイズが0になっちゃうんですが、、、 座標指定できるLayoutManagerとかないですよね?? 列の数を指定して(Dimensionではなくcolum数で)、 座標を指定してコンポーネントを配置することってできないんですかね??
- 386 名前:デフォルトの名無しさん [2008/05/24(土) 03:05:52 ]
- class C2 extends C1 {...
C1 c1 = new C1(); C2 c2 = (C2)c1; これは可能ですか?
- 387 名前:デフォルトの名無しさん mailto:sage [2008/05/24(土) 03:12:53 ]
- >>i386
C1を型に変換できません
- 388 名前:デフォルトの名無しさん mailto:sage [2008/05/24(土) 05:40:02 ]
- >>385
TextFieldを子孫コンポーネントとしたFrameを一旦表示してやると、 そのコンポーネントの推奨サイズが有効な値として取得できるようになるから、 推奨サイズをコンポーネントのサイズとして設定してやり、 その後、Frameを再描画すればいい。 一旦表示して設定後、再描画とかの流れが面倒なら、行儀の悪いものになるが、 コンポーネントを加えた後でFrameをネイティブスクリーンリソースに接続すれば、 Frameを表示することなくコンポーネントの推奨サイズを得ることができるようになる。
- 389 名前:デフォルトの名無しさん mailto:sage [2008/05/24(土) 08:48:29 ]
- >>385
なるほど。。。 ありがとうございます!!
- 390 名前:デフォルトの名無しさん mailto:sage [2008/05/24(土) 12:19:54 ]
- arraylistで値を追加する際genericsで型を指定していると処理の時間が多少短いような気がするのですが
これは偶然の誤差なのでしょうか?それとも速くなるものなのでしょうか?
- 391 名前:デフォルトの名無しさん mailto:sage [2008/05/24(土) 13:05:33 ]
- ならねぇ
- 392 名前:デフォルトの名無しさん mailto:sage [2008/05/24(土) 13:11:20 ]
- >>391
ありがとうございます
- 393 名前:デフォルトの名無しさん mailto:sage [2008/05/24(土) 13:32:08 ]
- オートボクシング/アンボクシングが働いて若干のパフォーマンス低下ってのならある。
けどもしそこがネックになってるならJITで最適化されるから気にしない。
- 394 名前:デフォルトの名無しさん mailto:sage [2008/05/24(土) 13:32:36 ]
- arraylistとlinkedlistの要素の追加に5倍ほどの時間差があるのですがこれはどういう理由なのでしょうか?
先頭の削除はarraylistが遅い ランダムアクセスはLinkedListが遅いっていうのはわかるんですけど intを1〜8000000 ArrayList追加 : 2385 LinkedList 追加 : 11095
- 395 名前:デフォルトの名無しさん [2008/05/24(土) 13:36:11 ]
- >>394
そりゃあ、最後の要素までたどりつくまで時間がかかるからじゃないの?
- 396 名前:デフォルトの名無しさん mailto:sage [2008/05/24(土) 13:58:00 ]
- >>395
末尾に追加すると ってやつね
- 397 名前:デフォルトの名無しさん mailto:sage [2008/05/24(土) 14:11:20 ]
- >>394
追加し続けるだけ? それなら、 ArrayList→1回のaddにおける代入回数は1回。配列の末尾に要素を代入する(これで1回)だけ。配列のサイズが足りなくなると、元の1.5倍のサイズの配列を確保して元の要素を全部コピー。(このときだけ遅い) LinkedList→1回のaddにおける代入回数は5回。要素を入れるEntryをnewして要素を代入(これで1回)し、前後のリンクを繋ぎ直す。(前、後、前の後、後の前で計4回) あとは、どちらにもサイズのインクリメントとConcurrentModificationException判定用カウンタのインクリメントがあるけど、数字を見ると大きな要因ではなさげ。(最近のCPUだと並列処理されるのかな) また、ArrayListは配列の拡張にペナルティがあるけど、LinkedListも1要素毎にnewするからか、ある程度相殺されてるっぽい。
- 398 名前:デフォルトの名無しさん mailto:sage [2008/05/24(土) 14:20:00 ]
- >>395
すいません説明が足りませんでした >>396さんの通り末尾に追加です >>397 リンクを繋ぎなおす処理で問題が出ていたわけですね 詳しい説明ありがとうございました
- 399 名前:デフォルトの名無しさん mailto:sage [2008/05/24(土) 14:25:41 ]
- >>395
LinkedListは頭と尻尾を知ってるから、わざわざそんなことしないぞ。 (間にsentinelを挟んだリング状になってる) つか、適当なこと言う前にソース嫁。
- 400 名前:デフォルトの名無しさん mailto:sage [2008/05/24(土) 16:03:41 ]
- プ ロ フ ァ イ リ ン グ
- 401 名前:デフォルトの名無しさん [2008/05/24(土) 18:18:39 ]
- keytoolの-validityで指定可能な最大値は何日ですか?
- 402 名前:デフォルトの名無しさん mailto:sage [2008/05/24(土) 18:43:07 ]
- javaでチャットを作ってます
swingのテキストエリアにメッセージを表示しているのですが、一行ずつフォントや色を変える方法はあるのでしょうか? テキストフィールドを複数使ってテキストエリアのようにするぐらいしか思いつきません
- 403 名前:デフォルトの名無しさん mailto:sage [2008/05/24(土) 18:43:27 ]
- 0か-1で無期限じゃなかった?
- 404 名前:デフォルトの名無しさん mailto:sage [2008/05/24(土) 18:57:47 ]
- >402
検索用ワード「JTextComponent スタイル」
- 405 名前:デフォルトの名無しさん mailto:sage [2008/05/24(土) 19:02:46 ]
- >>404
ありがとうございます!
- 406 名前:デフォルトの名無しさん mailto:sage [2008/05/24(土) 20:01:03 ]
- createImageに関しての質問なのですが
extends ComponentしたクラスでcreateImageをすると nullが返りgetGraphicsすることができません ググってみたところextends FrameしたクラスでaddNotifyをオーバーライドすればいいと ありましたがcreateImageを利用する上で何をextendsするのがセオリーなのでしょうか どうでもいいようなことかも知れませんがお願いします
- 407 名前:デフォルトの名無しさん mailto:sage [2008/05/24(土) 20:19:14 ]
- >>406
まだ表示されてないコンポーネントはcreateImageできない BufferedImageをnewして使うといい
- 408 名前:デフォルトの名無しさん mailto:sage [2008/05/25(日) 01:35:45 ]
- >>406
Toolkit#createImageを使う手もある
- 409 名前:デフォルトの名無しさん mailto:sage [2008/05/25(日) 04:28:52 ]
- class GenericsTest<T> {
private T data; public void copy(T newData) { data = new T(newData); // error } } このnew T(newData)のところ、 C++のテンプレートなんかだと コンパイルできるんですが、javaではできませんでした Tのメンバが全くわからない場合 どのようにmemberwise copy (deep copy)すべきでしょうか?
- 410 名前:デフォルトの名無しさん mailto:sage [2008/05/25(日) 06:26:14 ]
- >>409
interface CopyFactory<T> { T copy(T object); } みたいのを定義&実装してやって、 コンストラクタ使わずにそっちで生成。
- 411 名前:デフォルトの名無しさん mailto:sage [2008/05/25(日) 08:23:19 ]
- >>410
了解です ありがとうございました
- 412 名前:デフォルトの名無しさん mailto:sage [2008/05/25(日) 12:51:59 ]
- >>>409
・リフレクションでcloneを呼び出す ・リフレクションでコンストラクタを呼び出す ・serializeしてdeserializeする
- 413 名前:デフォルトの名無しさん mailto:sage [2008/05/25(日) 13:05:50 ]
- それが出来上がったら、俺だったら迷わずシングルトンなインスタンスを入れてみる
- 414 名前:FF [2008/05/25(日) 20:20:00 ]
- キャラクター画像の背景の透過処理の仕方を教えてください。
- 415 名前:デフォルトの名無しさん mailto:sage [2008/05/25(日) 20:39:42 ]
- ・もともと背景が透明画像用意する。
・IndexColorModelだったら透明色指定しとく。そうじゃなければ色置換。
- 416 名前:デフォルトの名無しさん mailto:sage [2008/05/25(日) 22:47:28 ]
- ArrayListをさらにList化することは出来るのですか?
- 417 名前:デフォルトの名無しさん [2008/05/25(日) 23:09:17 ]
- 何をしたいのかもう少し詳細に説明してください
- 418 名前:デフォルトの名無しさん mailto:sage [2008/05/25(日) 23:32:17 ]
- こうか?
ArrayList<ArrayList<Object>>
- 419 名前:デフォルトの名無しさん mailto:sage [2008/05/26(月) 00:12:45 ]
- >>417-418
レスありがとうございます。java宿題スレとマルチになってしまうんですが、とりあえず分からないなりに 解決してみようと思ってるんですが結局思いつかなくて、ここで聞いてるしだいです。 if (bean.getSql().startsWith("select")) { // iはループ用のカウンター;実行結果を取得する for (int i = 1; i <= fileColumns; i++) { columnNames.add(rsmd.getColumnLabel(i)); } // フィールドの変数NameListに取得した文字列を入れます。 bean.setNameList(columnNames); // 獲得したデータの格納 while (rs.next()) { ArrayList date = new ArrayList(); for (int i = 1; i <= 3; i++) { date.add(rs.getObject(i)); } bean.setResultList(date); ←このResultListを、さらにList化したいです session.setAttribute("access", bean); } } SQLを実行してデータベースから結果をとりだして格納するんですが、上のプログラムだけだと 上書きしている状態で、最後に取得した情報しか表示されないのです。 すべて表示させるにはResultListをリスト化して、リスト化したところに個々の情報を入れていけば 全て表示できると言われたのですが、どうやってResultListをリストすればいいのか検討がつかないのですよ。
- 420 名前:デフォルトの名無しさん mailto:sage [2008/05/26(月) 00:53:46 ]
- マルチは首つって市ね
|

|