問題タブ [sparse-array]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
2 に答える
2233 参照

android - Android SparseArray> 初期化

Hashmap のような分類を 2 つのキーと 1 つの値で実装する必要があります。たとえばHashmap<K1, K2, V>、2 つのキーは整数で、値は私が定義した汎用 MyObject です。

thisthis、およびthisの投稿を読みました。また、guava プロジェクトがtable インターフェイスを提供していることも知っていますが、プロジェクトをできるだけ小さく保つために (厳密に必要でない場合) 外部ライブラリを使用したくありません。そこで、SparseArrays を使用することにしました。私のキーは int であり、必ずしもゼロから開始して増加しているわけではないため、これがより良い選択であると考えました。

私はこの初期化を行います:

では本題に行きましょう。この種の操作を行うことはできますか:

または私は次のようなことをする必要があります:

つまり、この 1 行で両方の SparseArray を初期化しますか?

私の場合、より良い実装があると思いますか?

0 投票する
2 に答える
553 参照

android - Android JFC の SparseArray に互換性がないのはなぜですか?

したがって、パフォーマンスのために HashMap の代わりに SparseArray を使用することになっています。

ただし、JCFSparseArrayの一部ではなく、実装も実装もされていません。一方、JCF互換の動作が必要な場合に使用できる実装と提供を提供します。たとえば、さまざまなカスタム ソート (値) で使用します。CollectionListMapHashMapMapvalues()ArrayAdapter

私の質問は 3 つあります。

  1. JCFインターフェースをSparseArray実装しないのはなぜですか? つまり、ほとんどのメソッドが既に存在するという事実に照らして、これらのインターフェイスを実装しない理由は何ですか?
  2. JCFSparseArrayインターフェースを実装したり、簡単に変換してパフォーマンスを維持したりする代替手段はありますか?SparseArray
  3. HashMap数百の要素を持つ s は本当にそれほど遅いのでしょうか? ユーザーは本当に気付くのでしょうか?

私は詳細な回答を探しており、信頼できるサイトへの参照を好む. が JCF インターフェースで実装されなかった理由を知っていると思われる場合はSparseArray、サポートを示してください。理解を助けてください。を使用する必要があると思われる場合は、それを使用してカスタムソートSparseArrayを使用する方法を示してください( Comparator風のソリューションが推奨されます)。より良い代替手段がある場合は、API ドキュメント、ライブラリ、またはチュートリアルへのリンクが役立ちます。s に固執する必要があると思われる場合は、インターフェイスのニーズが s のパフォーマンス上の利点を上回っている理由を説明してください。ArrayAdapterHashMapSparseArray

0 投票する
3 に答える
7568 参照

java - 静的 SparseArray を初期化する方法

staticの変更不可能なインスタンスを初期化するにはどうすればよいandroid.util.SparseArrayですか?

0 投票する
1 に答える
882 参照

android - SparseArray がゼロ要素の ArrayList を返すのはなぜですか?

私はカーソルを反復処理し、カーソルからの情報のバンドルを含む にデータを入力していますSparseArray:ArrayList

その直後に、次のことを繰り返しますSparseArray

なんらかの理由で、上記の呼び出しでエントリがゼロLog()であると報告されます。に入力するとが 0 より大きい数値を返すことを確認したので、 を反復処理するときに何か間違ったことをしているに違いありません。何が起こっている?alCompArrayList.size()put()SparseArraySparseArray

0 投票する
1 に答える
1030 参照

r - テーブル内で 2 回以上繰り返される値を見つける

私は、SQL で "...having count(ID) > 2 ..." で実行できるようなことをしようとしています。

データフレームの 2 列のサブセットで、2 回以上繰り返される列の値を見つけたいと考えています。この関数tableは疎行列を与えてくれますが、その結果を自分が望むものにする方法がわかりません。マトリックスの場合、rowSums合計が見つかりますが、識別子に関連付けられた合計が必要です。

データセット mtcars は、私の言いたいことをより明確に示しています。

この 20 行のデータフレームの結果は次のようになります。