私のTableModel
の実装は、効率的なランダムアクセスパフォーマンスを実現するために、通常ArrayList
にあります。それは人々に近づき何1.効率的なTableModelの実装
バック後続のすべての要素をシフトするSystem.arrayCopy(...)
呼び出しを行う必要しかし、ArrayList
のremove(int)
実装がTableModel
のを実装するに連れて行くかなり非効率的に見えますか?私が検討すべきより良いデータ構造がありますか? ...おそらくサードパーティ製のライブラリですか?
さらに詳しい情報:私のテーブルのデータは縮小して拡大するので、固定サイズのバッファの実装は機能しません。
ありがとうございます。
ありがとうアーロン、それは良い点です。 TBH私はArrayListを試してみましたが、何か注文してビルドする前に、私はちょうどもっと効率的なものが箱の中に存在するかどうか疑問に思っていました。 – Adamski
arrayCopyは高度に最適化されています。それよりも速いものは見つけられません。あなたの場合、コピーは平均して65nsかかります。あなたが気づくことはありません。 –
それは誤解を招くことです。一度それを行うための13msはOKですが、あなたは間違いなくそのリストから10000要素を削除したくありません。そのコレクションにフィルタを適用すると、簡単にそのようになる可能性があります。 –