摘要: Java 2将容器分为两个不同的概念: Collection 与Map Collection: 提供对一组各自独立的元素的集合,List 与 Set接口都继承自Collection接口。 Map:提供了一组key-value(键值对)。 两种类型的主要区别在于: Collection类型每个位置只持有一个元素(Object),比如List以加入到容器中的先后顺序来持有一个独立的的对象。Set中的对象不得重复,并且它会使用自己内部的一种排序机制。Map类型所持有的是key-value(键值对),Map不接受重复的keyList List定义了一个线性表接口,Java2中的List实现方式分为两种 阅读全文
posted @ 2012-03-07 17:50 lostyue 阅读(492) 评论(0) 推荐(0)
摘要: 1、 继承和实现区别 Hashtable是基于陈旧的Dictionary类,完成了Map接口;HashMap是Java 1.2引进的Map接口的一个实现(HashMap继承于AbstractMap,AbstractMap完成了Map接口)。 2、 线程安全不同 HashTable的方法是同步的,HashMap是未同步,所以在多线程场合要手动同步HashMap。 3、 对null的处理不同 HashTable不允许null值(key和value都不可以),HashMap允许null值(key和value都可以)。即HashTable不允许null值其实在编译期不会有任何的不一样,会照样... 阅读全文
posted @ 2012-03-07 17:10 lostyue 阅读(308) 评论(0) 推荐(0)
摘要: 1 public V put(K key, V value) { 2 if (key == null) 3 return putForNullKey(value);//处理Null值 4 int hash = hash(key.hashCode());//获得Hashcode再处理 5 int i = indexFor(hash, table.length);//获得该值在数组中的位置 6 for (Entry<K,V> e = table[i]; e != null; e = e.next) {... 阅读全文
posted @ 2012-03-07 16:22 lostyue 阅读(468) 评论(0) 推荐(0)