@Test public void intSparseArray(){ IntSparseArray sparseArray = new IntSparseArray() .setN(7) .addIndices(2, 5) .addEntries(3, 42); assertEquals(Arrays.asList(0, 3, 0, 0, 42, 0, 0), SparseArrayUtil.asNumberList(sparseArray)); }
static public <E extends Number> List<E> asNumberList(SparseArray<E> sparseArray){ SortedMap<Integer, E> content = getContent(sparseArray); int size; Integer n = sparseArray.getN(); if(n != null){ size = n; } else { size = content.size(); } E defaultValue = sparseArray.getDefaultValue(); List<E> result = new AbstractList<E>(){ @Override public int size(){ return size; } @Override public E get(int index){ E value = content.get(index + 1); if(value == null){ value = defaultValue; } return value; } }; return result; }
SparseArrayUtil { static public <E extends Number> List<E> asNumberList(SparseArray<E> sparseArray){ SortedMap<Integer, E> content = getContent(sparseArray); int size; Integer n = sparseArray.getN(); if(n != null){ size = n; } else { size = content.size(); } E defaultValue = sparseArray.getDefaultValue(); List<E> result = new AbstractList<E>(){ @Override public int size(){ return size; } @Override public E get(int index){ E value = content.get(index + 1); if(value == null){ value = defaultValue; } return value; } }; return result; } }
SparseArrayUtil { static public <E extends Number> List<E> asNumberList(SparseArray<E> sparseArray){ SortedMap<Integer, E> content = getContent(sparseArray); int size; Integer n = sparseArray.getN(); if(n != null){ size = n; } else { size = content.size(); } E defaultValue = sparseArray.getDefaultValue(); List<E> result = new AbstractList<E>(){ @Override public int size(){ return size; } @Override public E get(int index){ E value = content.get(index + 1); if(value == null){ value = defaultValue; } return value; } }; return result; } private  SparseArrayUtil(); }
SparseArrayUtil { static public <E extends Number> List<E> asNumberList(SparseArray<E> sparseArray){ SortedMap<Integer, E> content = getContent(sparseArray); int size; Integer n = sparseArray.getN(); if(n != null){ size = n; } else { size = content.size(); } E defaultValue = sparseArray.getDefaultValue(); List<E> result = new AbstractList<E>(){ @Override public int size(){ return size; } @Override public E get(int index){ E value = content.get(index + 1); if(value == null){ value = defaultValue; } return value; } }; return result; } private  SparseArrayUtil(); @SuppressWarnings ( value = {"unchecked"} ) static SortedMap<Integer, E> getContent(SparseArray<E> sparseArray); static List<E> asNumberList(SparseArray<E> sparseArray); static SortedMap<Integer, E> parse(SparseArray<E> sparseArray); }
SparseArrayUtil { static public <E extends Number> List<E> asNumberList(SparseArray<E> sparseArray){ SortedMap<Integer, E> content = getContent(sparseArray); int size; Integer n = sparseArray.getN(); if(n != null){ size = n; } else { size = content.size(); } E defaultValue = sparseArray.getDefaultValue(); List<E> result = new AbstractList<E>(){ @Override public int size(){ return size; } @Override public E get(int index){ E value = content.get(index + 1); if(value == null){ value = defaultValue; } return value; } }; return result; } private  SparseArrayUtil(); @SuppressWarnings ( value = {"unchecked"} ) static SortedMap<Integer, E> getContent(SparseArray<E> sparseArray); static List<E> asNumberList(SparseArray<E> sparseArray); static SortedMap<Integer, E> parse(SparseArray<E> sparseArray);  }