SparseArray疎配列の浅い分析
1810 ワード
概要
SparseArrayとは、まばらな配列を指し、AndroidにおけるHashMapの性能最適化である.疎配列とは,配列中の大部分のコンテンツ値が使用されていないか0であり,配列中にわずかな空間しか使用されていない.そのため,メモリ領域の浪費をもたらし,メモリ領域を節約し,配列に存在するコンテンツ値に影響を及ぼさないように,疎配列のコンテンツを圧縮して表すことができる.
構築方法
一般的なlistと同様に、コンテナのサイズを予め設定できます.デフォルトのサイズは10です.
添削して調べる.
増加、キー値ペアの追加
アクションの削除
データの変更
データの問合せ
キーと値の検索
コア
その核心は二分検索です:位置は:androidです.util.ContainerHelper.binarySearch()
SparseArrayはAndroidで
SparseArrayとは、まばらな配列を指し、AndroidにおけるHashMapの性能最適化である.疎配列とは,配列中の大部分のコンテンツ値が使用されていないか0であり,配列中にわずかな空間しか使用されていない.そのため,メモリ領域の浪費をもたらし,メモリ領域を節約し,配列に存在するコンテンツ値に影響を及ぼさないように,疎配列のコンテンツを圧縮して表すことができる.
構築方法
一般的なlistと同様に、コンテナのサイズを予め設定できます.デフォルトのサイズは10です.
添削して調べる.
増加、キー値ペアの追加
①put(int key,E value); // , ; ,
②append(int key,E value);
アクションの削除
①delete(int key);
②remove(int key); // delete()
③removeAt(int key);
④removeAtRange(int index,int size) // :index<=X
⑤clear()
データの変更
①setValueAt(int key,E value);
②put(int key,E value); // , ;
データの問合せ
①get(int key); // get(int key,null)
②get(int key,E valueIfKeyNotFound);
キーと値の検索
int keyAt(int index) //
E value(int index) //
コア
その核心は二分検索です:位置は:androidです.util.ContainerHelper.binarySearch()
SparseArrayはAndroidで
のようなHashMapに特化して書かれたクラスで、効率を高めることを目的としており、その核心は折半検索方法binarySearch()である.