133fd13bf3cc241019d02ff52667dafc68977c05cKeisuke Kuroyanagi/* 233fd13bf3cc241019d02ff52667dafc68977c05cKeisuke Kuroyanagi * Copyright (C) 2013 The Android Open Source Project 333fd13bf3cc241019d02ff52667dafc68977c05cKeisuke Kuroyanagi * 433fd13bf3cc241019d02ff52667dafc68977c05cKeisuke Kuroyanagi * Licensed under the Apache License, Version 2.0 (the "License"); 533fd13bf3cc241019d02ff52667dafc68977c05cKeisuke Kuroyanagi * you may not use this file except in compliance with the License. 633fd13bf3cc241019d02ff52667dafc68977c05cKeisuke Kuroyanagi * You may obtain a copy of the License at 733fd13bf3cc241019d02ff52667dafc68977c05cKeisuke Kuroyanagi * 833fd13bf3cc241019d02ff52667dafc68977c05cKeisuke Kuroyanagi * http://www.apache.org/licenses/LICENSE-2.0 933fd13bf3cc241019d02ff52667dafc68977c05cKeisuke Kuroyanagi * 1033fd13bf3cc241019d02ff52667dafc68977c05cKeisuke Kuroyanagi * Unless required by applicable law or agreed to in writing, software 1133fd13bf3cc241019d02ff52667dafc68977c05cKeisuke Kuroyanagi * distributed under the License is distributed on an "AS IS" BASIS, 1233fd13bf3cc241019d02ff52667dafc68977c05cKeisuke Kuroyanagi * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 1333fd13bf3cc241019d02ff52667dafc68977c05cKeisuke Kuroyanagi * See the License for the specific language governing permissions and 1433fd13bf3cc241019d02ff52667dafc68977c05cKeisuke Kuroyanagi * limitations under the License. 1533fd13bf3cc241019d02ff52667dafc68977c05cKeisuke Kuroyanagi */ 1633fd13bf3cc241019d02ff52667dafc68977c05cKeisuke Kuroyanagi 1733fd13bf3cc241019d02ff52667dafc68977c05cKeisuke Kuroyanagipackage android.util; 1833fd13bf3cc241019d02ff52667dafc68977c05cKeisuke Kuroyanagi 1933fd13bf3cc241019d02ff52667dafc68977c05cKeisuke Kuroyanagipublic class SparseIntArray { 2033fd13bf3cc241019d02ff52667dafc68977c05cKeisuke Kuroyanagi private final SparseArray<Integer> mArray; 2133fd13bf3cc241019d02ff52667dafc68977c05cKeisuke Kuroyanagi 2233fd13bf3cc241019d02ff52667dafc68977c05cKeisuke Kuroyanagi public SparseIntArray() { 2333fd13bf3cc241019d02ff52667dafc68977c05cKeisuke Kuroyanagi this(10); 2433fd13bf3cc241019d02ff52667dafc68977c05cKeisuke Kuroyanagi } 2533fd13bf3cc241019d02ff52667dafc68977c05cKeisuke Kuroyanagi 2633fd13bf3cc241019d02ff52667dafc68977c05cKeisuke Kuroyanagi public SparseIntArray(final int initialCapacity) { 27a91561aa58db1c43092c1caecc051a11fa5391c7Tadashi G. Takaoka mArray = new SparseArray<>(initialCapacity); 2833fd13bf3cc241019d02ff52667dafc68977c05cKeisuke Kuroyanagi } 2933fd13bf3cc241019d02ff52667dafc68977c05cKeisuke Kuroyanagi 3033fd13bf3cc241019d02ff52667dafc68977c05cKeisuke Kuroyanagi public int size() { 3133fd13bf3cc241019d02ff52667dafc68977c05cKeisuke Kuroyanagi return mArray.size(); 3233fd13bf3cc241019d02ff52667dafc68977c05cKeisuke Kuroyanagi } 3333fd13bf3cc241019d02ff52667dafc68977c05cKeisuke Kuroyanagi 3433fd13bf3cc241019d02ff52667dafc68977c05cKeisuke Kuroyanagi public void clear() { 3533fd13bf3cc241019d02ff52667dafc68977c05cKeisuke Kuroyanagi mArray.clear(); 3633fd13bf3cc241019d02ff52667dafc68977c05cKeisuke Kuroyanagi } 3733fd13bf3cc241019d02ff52667dafc68977c05cKeisuke Kuroyanagi 3833fd13bf3cc241019d02ff52667dafc68977c05cKeisuke Kuroyanagi public void put(final int key, final int value) { 3933fd13bf3cc241019d02ff52667dafc68977c05cKeisuke Kuroyanagi mArray.put(key, value); 4033fd13bf3cc241019d02ff52667dafc68977c05cKeisuke Kuroyanagi } 4133fd13bf3cc241019d02ff52667dafc68977c05cKeisuke Kuroyanagi 4233fd13bf3cc241019d02ff52667dafc68977c05cKeisuke Kuroyanagi public int get(final int key) { 4333fd13bf3cc241019d02ff52667dafc68977c05cKeisuke Kuroyanagi return get(key, 0); 4433fd13bf3cc241019d02ff52667dafc68977c05cKeisuke Kuroyanagi } 4533fd13bf3cc241019d02ff52667dafc68977c05cKeisuke Kuroyanagi 4633fd13bf3cc241019d02ff52667dafc68977c05cKeisuke Kuroyanagi public int get(final int key, final int valueIfKeyNotFound) { 4733fd13bf3cc241019d02ff52667dafc68977c05cKeisuke Kuroyanagi return mArray.get(key, valueIfKeyNotFound); 4833fd13bf3cc241019d02ff52667dafc68977c05cKeisuke Kuroyanagi } 4933fd13bf3cc241019d02ff52667dafc68977c05cKeisuke Kuroyanagi 5033fd13bf3cc241019d02ff52667dafc68977c05cKeisuke Kuroyanagi public int indexOfKey(final int key) { 5133fd13bf3cc241019d02ff52667dafc68977c05cKeisuke Kuroyanagi return mArray.indexOfKey(key); 5233fd13bf3cc241019d02ff52667dafc68977c05cKeisuke Kuroyanagi } 5333fd13bf3cc241019d02ff52667dafc68977c05cKeisuke Kuroyanagi 5433fd13bf3cc241019d02ff52667dafc68977c05cKeisuke Kuroyanagi public int keyAt(final int index) { 5533fd13bf3cc241019d02ff52667dafc68977c05cKeisuke Kuroyanagi return mArray.keyAt(index); 5633fd13bf3cc241019d02ff52667dafc68977c05cKeisuke Kuroyanagi } 5733fd13bf3cc241019d02ff52667dafc68977c05cKeisuke Kuroyanagi} 58