![](/img/trans.png)
[英]What if there is conflict of hashing of keys in ArrayMap or SparseArray?
[英]Is SparseArray good for resource id keys?
當整數鍵是資源 ID 時,是否建議使用SparseArray
? 還是針對數字較低的鍵?
是的,我知道SparseArray
的定義,當使用帶有整數鍵的ArrayList
時,編譯器總是發出警告,建議使用SparseArray
。
但也許在定義SparseArray
時,他們想到的是一個數組,其中確實有元素,但不是所有元素。
在我的例子中,我想使用資源 ID 作為鍵,對於那些在生成的R.java
文件中選擇的人來說,只有非常大的數字。 所以我認為它可能不適合,不僅是意圖,而且是SparseArray
的實現。
SparseArray 正是用於未知范圍的值。 所以它似乎適合你的需要。
在 R.java 中,資源 ID 都是整數,因此使用稀疏數組沒有問題。
不要將SparseArray
與資源 ID 一起用作鍵。 SparseArray
按升序對鍵進行排序以實現高效訪問。 由於資源 ID 是自動生成的,因此您無法保證它們在SparseArray
的順序。 這意味着當您遍歷SparseArray
,您將不會按照填充 FW 時的順序。
我認為您應該改用 LinkedHashMap。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.