@Override public int keyAt(int index) { return mMap.keyAt(index); }
@Override public int keyAt(int index) { return mMap.keyAt(index); }
@Override public void write(JsonWriter out, SparseArray<T> value) throws IOException { out.beginObject(); if(value != null) { for (int size = value.size(), i = size - 1; i >= 0; i--) { out.name(value.keyAt(i) + ""); mAdapter.write(out, value.valueAt(i)); } } out.endObject(); }
@Override public boolean removeByValue(V value, int[] keyArr){ final int index = mMap.indexOfValue(value, false); if(index < 0){ return false; } if(keyArr != null) { keyArr[0] = mMap.keyAt(index); } mMap.removeAt(index); return true; }
@Override public boolean removeByValue(V value, int[] keyArr){ final int index = mMap.indexOfValue(value, false); if(index < 0){ return false; } if(keyArr != null) { keyArr[0] = mMap.keyAt(index); } mMap.removeAt(index); return true; }
static void writeSparseArray0(Parcel in, SparseArray val) { if (val == null) { in.writeInt(-1); return; } int N = val.size(); in.writeInt(N); int i=0; while (i < N) { in.writeInt(val.keyAt(i)); in.writeValue(val.valueAt(i)); i++; } } }
@Override public void write(JsonWriter out, GsonProperty property, Object value) throws IOException { final Class<?> simpleType = property.getType(); out.beginObject(); if(value != null) { final SparseArray sa = (SparseArray) value; if(simpleType.isPrimitive() || isBoxedClass(simpleType)){ for (int size = sa.size(), i = size - 1; i >= 0; i--) { out.name(sa.keyAt(i) + ""); writePrimitiveOrItsBox(out, simpleType, sa.valueAt(i)); } }else { TypeAdapter adapter = getTypeAdapter(simpleType); for (int size = sa.size(), i = size - 1; i >= 0; i--) { out.name(sa.keyAt(i) + ""); adapter.write(out, sa.valueAt(i)); } } } out.endObject(); }
@Override public boolean clearTo(SparseArrayDelegate<V> out) { final int size = mMap.size(); if(size == 0){ return false; } if(out != null) { for (int i = size -1 ; i>=0 ; i--){ out.put(mMap.keyAt(i), mMap.valueAt(i), null); } } mMap.clear(); return true; }
@Override public boolean clearTo(SparseArrayDelegate<V> out) { final int size = mMap.size(); if(size == 0){ return false; } if(out != null) { for (int i = size -1 ; i>=0 ; i--){ out.put(mMap.keyAt(i), mMap.valueAt(i), null); } } mMap.clear(); return true; }
@Override public void write(JsonWriter out, SparseArray<Car3> value) throws IOException { out.beginObject(); if(value != null) { for (int size = value.size(), i = size - 1; i >= 0; i--) { out.name(value.keyAt(i) + ""); mAdapter.write(out, value.valueAt(i)); } } out.endObject(); }