- ★★Java質問・相談スレッド173★★ [転載禁止]©2ch.net
666 :デフォルトの名無しさん[sage]:2015/05/29(金) 07:09:05.85 ID:GbyQSdJL - >>665
間違い ほとんど全ての場合でArrayListの方が性能が良いので、基本的にLinkedListは使わず常にArrayListを使う。 どうしてもボトルネックになってるコレクション操作の箇所がある→どうやら途中への挿入or削除が原因のようだ →LinkedListに変えてみたら解消した これだけでいい
|
- ★★Java質問・相談スレッド173★★ [転載禁止]©2ch.net
668 :デフォルトの名無しさん[sage]:2015/05/29(金) 07:24:06.99 ID:GbyQSdJL - 単純に、利用者のミスを生みやすい設計はよくないって話だよな
Mapが渡ってきたらgetは直感的にO(1)、遅くてもO(log(N))くらいだと期待するだろ? Map#getよりも一見処理の軽そうなList#getがO(N)になりうるのは直感に反する
|
- ★★Java質問・相談スレッド173★★ [転載禁止]©2ch.net
674 :デフォルトの名無しさん[sage]:2015/05/29(金) 14:46:16.67 ID:GbyQSdJL - >>672
getDataがmapを晒すと外から自由に排他なしでアクセスできてしまうからダメ 排他云々以前にコレクションをクラス外にそのまま出すのはpublicフィールド晒してるようなもんだから、 getDataは引数にキーを受け取って値を返す仕様にするべき それならそのコードの排他は正しく機能する
|
- VB.NET質問スレ(Part42) [転載禁止]©2ch.net
328 :デフォルトの名無しさん[sage]:2015/05/29(金) 14:50:06.66 ID:GbyQSdJL - コレクションをソートするだけのためにデータテーブルを使う、VBerならではの発想だね
|