2016-01-12 1 views
0

Я хотел бы знать, есть ли эквивалентный метод для метода putAll, доступного в классе HashMap класса SparseArray?Эквивалентный метод для putAll на SparseArray

Я запутался, если я должен использовать добавить, поставил или setValueAt и если он даст мне тот же результат.

Is SparseArrayX.append (i, SparseArrayY.valueAt (i)) = MapX.put (MapY); ?

+0

Посмотрите сами в официальных руководствах Android. http://developer.android.com/reference/android/util/SparseArray.html –

+0

Спасибо, я должен был быть более конкретным в моем вопросе. Я хотел бы знать, есть ли способ достичь того же, используя SparseArray, возможно ли это? Может быть, через итерацию? – sparkss

ответ

2

Нет метода putAll(), доступного классу SparseArray. Android Docs

append(int key, E value) 
Puts a key/value pair into the array, optimizing for the case where the key is greater than all existing keys in the array. 

put(int key, E value) 
Adds a mapping from the specified key to the specified value, replacing the previous mapping from the specified key if there was one. 

setValueAt(int index, E value) 
Given an index in the range 0...size()-1, sets a new value for the indexth key-value mapping that this SparseArray stores. 
+0

Yup, так что если я попробую что-то вроде этого: for (int i = 0; i sparkss

+0

Да, именно так я и сделал бы это. Таким образом, вы случайно не перезапишете что-нибудь. –

+0

ummmm .. на самом деле putAll из HashMap переопределит при необходимости: https://developer.android.com/reference/java/util/HashMap.html#putAll (java.util.Map ) –