記事へのコメント116

    • 注目コメント
    • 新着コメント
    shun_libra
    これは気をつけたい知見。何に最適化されているかというのを見落としてはならない。

    その他
    mas-higa
    C言語じゃあるまいし今時 for (i = 0; i < n; ... とか書くやつなんなの

    その他
    AmaiSaeta
    怖い怖い怖い似たようなチョンボどっかで知らずにやってないか気になって怖い!

    その他
    yukkesan
    前職でクエリ結果をCSVに吐くだけで死ぬほど遅いjarがあったけど、こういう実装だったのかも。.netにもLinkedListがあることも知れて勉強になりました。

    その他
    nekoruri
    本当にランダムアクセスが必要な場合はどういうインターフェースにすれば良いのかな、と思ったらRandomAccessというマーカーインターフェースがあった。

    その他
    issyurn
    アルゴリズムとデータ構造の理解、APIドキュメントを読み込む能力って基本だけど大事だよなあと再認識。あと、実運用を見越した負荷テスト(そもそもこれやってなくね?っていうのはある)。解決策たくさんいいね。

    その他
    Hash
    あえての LinkedList... コメント欄含め勉強になる / こう表れるという実例 / プロファイラ使うと出力どんな感じだったか

    その他
    ka-ka_xyz
    気になったけど、拡張for文がIteratorのシンタックスシュガーなのって、javac仕様なのか実装依存なのか。-> https://docs.oracle.com/javase/specs/jls/se7/html/jls-14.html#jls-14.14.2 仕様

    その他
    mohno
    これ「ほぼINSERTしかやってないような処理」になんで LinkedList を使ったの?という話じゃないのかな←コメントで指摘されてた^_^;/LinkedList にインデックスアクセスあるのか。というか.NETと違うんだ。(そりゃ違うか)

    その他
    mojimojikun
    タイトルでオチが見えてたんだけどこういうのを共有するのは正しい。 でもなんかこのくらいのやらかしを学習している段階だと自分でやらかさないと学習しない率が高いような気もしないでもない。

    その他
    da-yoshi
    JavaのListやStreamにzipWithIndex相当の機能が無いので、JDKが新しくてもindex目当てにgetを使いたくなることは多々ありそう

    その他
    tokoyax
    こういう失敗談をだしてくれるのはありがたい

    その他
    p_tan
    C++屋さんは嫌でもSTLで意識させられるデータ構造の話。計算量とインターフェースによる抽象化は相性悪い。

    その他
    FunnyBunnyDizzy
    こういう失敗公開するの良いね

    その他
    kmaebashi
    この話から導ける教訓はいくつかあると思うけど、最初からListじゃなくてLinkedListが見えてたらこんなアクセスしなかったかもしれないわけで、「下手に抽象クラスとかで実装を隠すな」と言えるかも。

    その他
    digo
    気づけてよかったね。。中途半端なデータだと「なんか遅いけど仕方ないのかなぁ」って使い続けられることになって皆不幸。

    その他
    gabari
    これ実装によってはsize()も時間かかるやつなのでは。流石に今日び無いかな。/コレクションの名前は変に抽象化しないで実装書いとけよと思う。c#のDictionaryとか。hashちゃうんかと/あえて言うとデータ構造は基礎

    その他
    lainof
    LinkedListだからインデックスによるアクセスが遅いだけで、ArrayListなら遅くないことを理解してないと思われるコメントが…

    その他
    lizy
    Listインタフェースにget(int)をつけてしまったのがそもそもの原因なのかな

    その他
    mandel59
    「ランダムアクセスって言うより、連結リストだから特定の位置にジャンプしてアクセスする際、常に最初から探していく必要があるから」それをランダムアクセスというのでは

    その他
    haneuma0628
    つらい

    その他
    slumbers99
    身近に頑なにLinkedListに詰め込んでる人いるんだよなぁ。わかってやってる感ないので恐ろしい。

    その他
    tsz
    ドライバでリスト管理に問題があり、ループ構造になってハングアップしたことはしょっちゅう。

    その他
    rin51
    何気ないforループがプログラマを傷つけた

    その他
    ma38su
    そもそもListのインターフェースが悪いと思うんだが。

    その他
    uva
    綺麗なグラフ

    その他
    okzk
    特別な理由がなくてLinkedList使ったんなら、リファクタすべきはまずArrayListに変更することじゃないかな?

    その他
    kabacsharp
    stlのアルゴリズムコンテナとイテレータの組み合わせも考え物だしなぁ。

    その他
    fukken
    あー、for文だと、1000件目を取るために先頭から順番にアクセス、1001件目を取るためにまた先頭から順番にアクセス、1002番目を取るためにまた先頭から…ってなるのか

    その他
    eichisanden
    休出はしてないけど、他人の書いたコードで同じ目にあったことがある。LinkedList使う理由がサッパリ分からない処理だった。

    その他

    注目コメント算出アルゴリズムの一部にLINEヤフー株式会社の「建設的コメント順位付けモデルAPI」を使用しています

    アプリのスクリーンショット
    いまの話題をアプリでチェック!
    • バナー広告なし
    • ミュート機能あり
    • ダークモード搭載
    アプリをダウンロード

    関連記事

    軽い気持ちでLinkedListを使ったら休出する羽目になった話 - Qiita

    ざっくり言うと リスト構造のデータに対してランダムアクセスはしちゃだめだぞ。お兄さんとの約束だ! ...

    ブックマークしたユーザー

    • techtech05212024/02/03 techtech0521
    • areyoukicking2021/07/26 areyoukicking
    • tk41682020/10/10 tk4168
    • chess-news2018/12/06 chess-news
    • xim06082018/04/16 xim0608
    • shun_libra2018/03/20 shun_libra
    • asayamakk2018/03/14 asayamakk
    • rd0502012018/03/07 rd050201
    • mas-higa2018/03/01 mas-higa
    • AmaiSaeta2018/03/01 AmaiSaeta
    • motsuni22018/02/28 motsuni2
    • yukkesan2018/02/28 yukkesan
    • nekoruri2018/02/28 nekoruri
    • issyurn2018/02/28 issyurn
    • rydot2018/02/28 rydot
    • rinsuki2018/02/24 rinsuki
    • crayzic2018/02/24 crayzic
    • Hash2018/02/24 Hash
    すべてのユーザーの
    詳細を表示します

    同じサイトの新着

    同じサイトの新着をもっと読む

    いま人気の記事

    いま人気の記事をもっと読む

    いま人気の記事 - テクノロジー

    いま人気の記事 - テクノロジーをもっと読む

    新着記事 - テクノロジー

    新着記事 - テクノロジーをもっと読む

    同時期にブックマークされた記事

    いま人気の記事 - 企業メディア

    企業メディアをもっと読む