2016-05-12 7 views
1

setValueAt(...)SparseArrayクラスのパブリックインターフェイスにあるのはなぜですか?私はput(...)の代わりにそれを使っていましたが、明らかに私が思い描いた結果が得られませんでした。SparseArray setValueAt()を使うべきときは?

+0

あなたの期待と現実の違いは何ですか? –

+0

put()は何かであると考えていました –

+0

'put()'は提供された**キー**で値をマップします。ここで 'setValueAt()'は指定された**インデックス* *。 –

答えて

0

私は同じことを理解しようとここに来ました。コメントに記載されているPrekak Solaのように、putは特定のキーの値をマップしているが、は特定のインデックスの値をマップしている。明らかに

、それは混乱になることができますが、公式SparseArray documentationを見れば、それはSparseArrayが、HashMapより一般的に遅くなることを述べているので、私は、それは非常に便利な機能だと思い検索は、バイナリ検索を必要とするため、追加と削除は配列のエントリの挿入と削除が必要です。あなたは、このコンテナ内のアイテムを超える反復は、のようなsetValueAtkeyAt(int)size()、と明らかにすべてのインデックス関連のの機能を使用している場合

だから、私は、代わりに特定のケースでは、それははるかに高速に実行するだろうと推測しますキーを使って

関連する問題