/*
练习:
"kbashbdjsgfwhofihbfkwejhfiubjzfhaads"获取该字符串中的字母出现次数。
希望打印结果:a(3)b(4)d(2)...
通过结果发现,每一个字母都有对应的次数。、
说明字符和次数之间都有映射关系。
注意:当发现有映射关系是,可以选择map集合。
因为map集合中存放的就是映射关系。
为什么使用map集合呢?
当数据之间存在着映射关系时,就想到...
分类:
编程语言 时间:
2016-05-12 15:59:56
阅读次数:
133
/*
Map集合:该集合存储键值对,一对一对往里面存,而且要保证键的唯一性。
Map比较重要的三个子类:
Hashtable:底层是哈希表数据结构,不可以存入null键null值。该集合是线程同步的(JDK1.0)元老级的。效率低。
HashMap:底层是哈希表数据结构,允许使用null键null值。该集合是线程不同步的。(JDK1.2)效率高。
TreeMap:底层数据结构是二叉树,线程...
分类:
编程语言 时间:
2016-05-12 15:06:20
阅读次数:
212
一Map接口
Map接口中的每个成员方法由一个关键字(key)和一个值(value)构成。Map接口不直接继承于Collection接口,因
为它包装的是一组成对的"键-值"对象的集合,而且在Map接口的集合中也不能有重复的key出现,因为每个键只能与
一个成员元素相对应。
Map接口定义了存储"键(key)——值(value)映射对"的方法。实现Map接口...
分类:
编程语言 时间:
2016-05-12 13:04:42
阅读次数:
241
TreeSet有序没有重复对象的集合,实现了set接口。其实它的底层就是对TreeMap的操作。在默认的构造函数中,就初始化了一个TreeMap对象。 也许你会问,TreeSet每次添加一个元素,而TreeMap是添加key value。其实是在put的时候,会构造一个Object对象作为value ...
分类:
其他好文 时间:
2016-05-05 17:13:27
阅读次数:
134
一、HashMap该类的节点Node类为:staticclassNode<K,V>implementsMap.Entry<K,V>{
finalinthash;
finalKkey;
Vvalue;
Node<K,V>next;
Node(inthash,Kkey,Vvalue,Node<K,V>next){
this.hash=hash;
this.key=key;
this.value=value;
this.next=next;
}
..
分类:
编程语言 时间:
2016-05-05 13:03:52
阅读次数:
212
原文出自:http://cmsblogs.com/?p=1013。尊重作者的成果 左旋、右旋的示意图如下: (左旋) (右旋) 左旋、右旋的示意图如下: (左旋) (右旋) ...
分类:
其他好文 时间:
2016-05-05 12:58:55
阅读次数:
161
http://cmsblogs.com/?p=1013 原文出处。 TreeMap的实现是红黑树算法的实现,所以要了解TreeMap就必须对红黑树有一定的了解,其实这篇博文的名字叫做:根据红黑树的算法来分析TreeMap的实现,但是为了与Java提高篇系列博文保持一致还是叫做TreeMap比较好。通 ...
分类:
其他好文 时间:
2016-05-05 11:05:04
阅读次数:
243
前面讨论完了HashMap和HashTable的源码,这一节我们来讨论一下TreeMap。先从整体上把握TreeMap,然后分析其源码,深入剖析TreeMap的实现。
1. TreeMap简介
TreeMap是一个有序的key-value集合,它内部是通过红-黑树实现的,如果对红-黑树不太了解,请先参考下这篇博文:红-黑树。下面我们先来看看TreeMap的继承关系:
java...
分类:
编程语言 时间:
2016-04-29 18:27:59
阅读次数:
201
我们继续分析TreeMap的源码
1.TreeMap源码分析(续)
1. 存取方法
TreeMap中的存取方法本质上就是对红黑树的插入和删除操作,从源码里体现的更为明显,其实就是对红黑树的插入和删除(可以参考:红黑树),下面简单看下源码:
/*************************** put和remove ****************************...
分类:
编程语言 时间:
2016-04-29 18:06:25
阅读次数:
184