内部API和隐藏代码的例子在翻阅Android源码的时候有时会遇到一些奇怪的代码,例如下面这个://注:这段代码在源码android/provider/Telephony.java中。
importandroid.util.Patterns;
importcom.android.internal.telephony.SmsApplication;
importjava.util.HashSet;
//……..
分类:
移动开发 时间:
2014-08-07 07:19:40
阅读次数:
489
1 public static String[] array_unique(String[] a) {2 Set set = new HashSet();3 set.addAll(Arrays.asList(a));4 return set.toArray(new String[0]);5 }
分类:
其他好文 时间:
2014-08-06 18:38:11
阅读次数:
215
基础知识:1HashMap会使用key,根据hashcode进行默认排序。2LinkedHashMap根据存入先后进行排序代码展示:1随机排序
分类:
编程语言 时间:
2014-08-05 23:09:50
阅读次数:
1368
建议先看下:java集合框架小结(进阶版)之HashMap篇基本概念:hashSet:根据java集合框架小结(初级版)图示,HashSet是AbstractSet的一个子类,是基于Hash算法的Set接口的实现,顾名思义。允许添加null。-----------------------------...
分类:
编程语言 时间:
2014-08-05 00:09:48
阅读次数:
372
equals方法对比的是元素的值,可以hashcode不同, 但是如果我们override了自己的equals方法同时也应该重载hashcode方法。假设有obj1和obj2相等, 这时候obj1作为key放入map后,用obj2作为key来获取obj1存入的对象...
分类:
其他好文 时间:
2014-08-02 10:09:23
阅读次数:
170
代码:import java.util.ArrayList;import java.util.Collections;import java.util.HashSet;import java.util.LinkedHashMap;import java.util.List;import java.u...
分类:
其他好文 时间:
2014-08-01 19:21:32
阅读次数:
291
如何覆盖hashCode():
明白了如何散列之后,编写自己的hashCode()就更有意义了。
首先,你无法控制bucket数组的下标值的产生。这个值依赖于具体的HashMap对象的容量,而容量的改变与容器的充满程度和负载因子有关。hashCode()生成的结果,经过处理后称为桶位的下标。
设计hashCode()时最重要的因素就是:无论何时,对同一个对象调用hashCode()都应该...
分类:
其他好文 时间:
2014-07-31 00:00:35
阅读次数:
219
大家都知道,在Map和Set不可存在重复元素?
但是对于内部的细节我们并不了解,今天我们就一块来 探讨一下!
1 对于 HashMap HashSet
他们的底层数据结构的实现是:维护了一张 HashTable 。容器中的元素全部存储在Hashtable 中。他们再添加元素的时候,是如何判断是否存在有重复元素的呢? 每一个被添加的元素都有一个 hashCode(哈希值),...
分类:
编程语言 时间:
2014-07-30 20:45:14
阅读次数:
325
上图为Hashmap的数据结构图,具体实线是采用数组结合链表实现,链表是为了解决在hash过程中因hash值一样导致的碰撞问题。所以在使用自定义对象做key的时候,一定要去实现hashcode方法,不然hashmap就成了纯粹的链表,查找性能非常的慢,添加节点元素也非常的慢。如importjava....
分类:
编程语言 时间:
2014-07-30 20:20:14
阅读次数:
458