public class TestActivity extends Activity {
 private CheckedItems checkedItems = new CheckedItems();
 private SparseBooleanArray sba = new SparseBooleanArray();
 
 public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        sba.append(0, true);
        sba.append(3, false);
        sba.append(5, true);
        
        checkedItems.setChecked(0, sba);
        Log.d("MyTag", checkedItems.getChecked(0).size()+"");
        sba.clear();
        
        sba.append(4, true);
        sba.append(2, false);
        sba.append(3, false);
        sba.append(7, true);
        sba.append(5, false);
        
        checkedItems.setChecked(1, sba);
        Log.d("MyTag", checkedItems.getChecked(1).size()+"");
        sba.clear();
        
        Log.d("MyTag", checkedItems.getChecked(0).size()+"");
        Log.d("MyTag", checkedItems.getChecked(1).size()+"");
        
 }
 class CheckedItems{
  private Map<Integer, SparseBooleanArray> checkedItems;
  
  CheckedItems(){
   checkedItems = new HashMap<Integer, SparseBooleanArray>();
  }
  public void setChecked(int key, SparseBooleanArray sba){
   checkedItems.put(key, sba);
  }
  
  public Map<Integer, Boolean> getChecked(int key){
   Map<Integer, Boolean> checkedItemsBoolean = new HashMap<Integer, Boolean>();
   for(int i = 0 ; i < checkedItems.get(key).size() ; i++){
    checkedItemsBoolean.put(checkedItems.get(key).keyAt(i),
      checkedItems.get(key).get(checkedItems.get(key).keyAt(i)));
   }
   return checkedItemsBoolean;
  }
 }
}

위의 예제를 실행시키면 Log에 3 5 3 5 가 찍혀야할거 같은데 3 5  0 0 이 찍힙니다.
set(0)  //3저장
get(0) //3찍임
set(1) //5저장
get(1)  //5찍힘

get(0) //3 예상. 0찍임.
get(1) //5 예상. 0찍임.