1.1. 对集合中的key进行排序
1.1.1.
实例:对字符串形式的key进行自然逆序排序
SortMapKey.java
package map;
import java.util.Comparator;
import java.util.LinkedHashMap;
import java.util.Map;
im...
分类:
编程语言 时间:
2015-01-31 16:30:22
阅读次数:
198
1.
Map简介
Map 集合类用于存储元素对(称作“键”和“值”),其中每个键映射到一个值。Map用于存储键值对,根据键得到值,因此不允许键重复,值可以重复。
1.1.
HashMap
HashMap
是一个最常用的Map,它根据键的HashCode
值存储数据,根据键可以直接获取它的值,具有很快的访问速度。HashMap最多只允许一条记录的键为Null;允许多条记录的值...
分类:
其他好文 时间:
2015-01-31 12:26:00
阅读次数:
239
将键映射到值的对象。一个映射不能包含重复的键;每个键最多只能映射到一个值。
Map 接口提供三种collection视图,允许以键集、值集或键-值映射关系集的形式查看某个映射的内容。映射顺序定义为迭代器在映射的 collection 视图上返回其元素的顺序。某些映射实现可明确保证其顺序,如 TreeMap 类;另一些映射实现则不保证顺序,如 HashMap 类。
所有通用的映射实现类应该提供两...
分类:
其他好文 时间:
2015-01-31 12:15:36
阅读次数:
238
* Map接口* |-----HashMap:Map的主要实现类* |-----LinkedHashMap:使用链表维护添加进Map中的顺序。故遍历Map时,是按添加的顺序遍历的。* |-----TreeMap:按照添加进Map中的元素的key的指定属性进行排序。要求:key必须是同一个类的对象!*...
分类:
编程语言 时间:
2015-01-31 00:02:42
阅读次数:
198
单线程环境下可以使用HashMap和TreeMap。如果不是遍历时需要按照Key的排序来返回结果,应该采用HashMap。
多线程环境下可以使用以下四种Map容器。
1)Collections.synchronizedMap(new HashMap());
2)ConcurrentHashMap
3)Collections.synchronizedSortedMap(new TreeMap())
4)ConcurrentSkipListMap
如果不需要遍历时需要按照Key的排序来返回结果,首选Concur...
分类:
编程语言 时间:
2015-01-30 17:41:51
阅读次数:
536
1,TreeMap:
-1,基于红黑树的实现。TreeMap根据创建时的顺序或者根据提供的Comparator进行排序,具体决定于使用的构造方法。提供Conparator方法后,判断对象相等也会基于此方法。
-2,containsKey,get,put和remove方法消耗log(n)的时间复杂度。
/** * * @(#) Main.java * @Package ...
分类:
其他好文 时间:
2015-01-24 11:42:45
阅读次数:
306
顺序表(ArrayList)使用示例、链表(LinkedList)使用示例、优先队列(PriorityQueue)使用示例、哈希集合(HashSet)使用示例、哈希映射(HashMap)使用示例、有序树(TreeSet)使用示例、有序树映射类(TreeMap)使用示例
分类:
编程语言 时间:
2015-01-23 13:00:47
阅读次数:
216
1,Map:映射表数据结构,通过key-value完成映射。HashMap的子实现主要包括:HashMap、LinkedHashMap、TreeMap、WeakHashMap、ConcurrentHashMap、IdentityHashMap。以下总结摘录自《Thingking In Java》
-1,HashMap:使用Map集合的默认选择。因为HashMap对速度进行了优化。Hash...
分类:
其他好文 时间:
2015-01-22 09:28:00
阅读次数:
281
HashMap
如果有重复的key,则将旧数据进行替换,允许设置key和value为null,key存放是乱序的,线程非同步,访问速度快,因为它根据key的HashCode 值来存储数据
public static void main(String[] args) {
System.out.println("************************* HashMap ********...
分类:
其他好文 时间:
2015-01-21 18:18:43
阅读次数:
216
常见的ArrayList LinkedList HashMap TreeMap LinkedHashMap HashSet TreeSet LinkedHashSet 都是线程不安全的。如果要使用线程安全的,可以使用:1.List ----- Vector 、ConcurrentLinkedQueu...
分类:
编程语言 时间:
2015-01-20 15:07:04
阅读次数:
179