ArrayMap方法解析

2016-06-23 22:27 评论 0 条

一.摘要

ArrayMap是一个生成键值对的数据结构,比起传统的HashMap,ArrayMap更加高效。ArrayMap使用数组的数据结构保存映射关系-每个选项是一个散列数组和一个键值对的对象数组。使用ArrayMap避免创建多余的对象空间,同时很好控制数组长度的增长。ArrayMap位于android.utils包

该实现类的作用并未指定很长的数据结构,比起传统的HashMap更短,它使用一个二分查找添加、删除ArrayMap中的数据,更好平衡内存的使用。

二.ArrayMap方法解析

ArrayMap是接口Map的实现类,所以重写了Map接口中所有的方法,关于Map方法的使用可以参考《Map接口集合方法解析》。这里展示ArrayMap增加的方法,然后总结这些方法使用技巧,这是赵林IT分析源码的主要原因。

  1. ArrayMap map=new ArrayMap();  
  2.         map.put("id"new Integer(123456789));  
  3.         map.put("token_id"new Integer(12345));  

小知识:接口声明对象,实现类创建对象,当前声明的对象只能调用接口方法;实现类声明,实现类创建对象可以调用实现类的所有方法和属性

1.containsAll(Collection collection),当前集合是否包含给出的collection的所有键,返回true

  1. Collection collection=new ArrayMap<>();  
  2.         collection.add("id");  
  3.         collection.add("token_id");  
  4. boolean isContained=arrayMap.containsAll(collection);  

2.ensureCapacity(int minimumCapacity),指定集合的最少长度

  1. arrayMap.ensureCapacity(1024);  

3.indexOfKey(Object key),返回当前键对应集合的索引

  1. arrayMap.indexOfKey("id");  

4.removeAll(Collection collection),删除当前Collection存在的数组集合的键

  1. boolean isRemoveAll=arrayMap.removeAll(collection);  

5.removeAt(int index),删除指定索引的集合键值对

  1. boolean isRemoveAll=arrayMap.removeAll(collection);  

6.retainAll(Collection collection),删除当前Collection不存在的数组集合的键,注意区别removeAll()

  1. boolean isRetain=arrayMap.retainAll(collection);  

7.setValueAt(int index,Object value),更改指定索引的集合数据

  1. arrayMap.setValueAt(1,new Integer(12321));  

8.valueAt(int index),获取指定索引的值

  1. arrayMap.valueAt(1);  

当前文章价值1.79元,扫一扫支付后添加微信提供帮助!(如不能解决您的问题,可以申请退款)

你可能感兴趣的文章

来源:每日教程每日一例,深入学习实用技术教程,关注公众号TeachCourse
转载请注明出处: https://www.teachcourse.cn/1844.html ,谢谢支持!

资源分享

分类:Android, Android基础 标签:,
Android开发之深入理解泛型extends和super的区别 Android开发之深入理解泛型exte
MVP设计模式嵌入百度地图小结 MVP设计模式嵌入百度地图小结
Head First Of Design Pattern Head First Of Design Patt
Android Debug Bridge Android Debug Bridge