import java.util.*;
/**
* Created by Administrator on 2014/5/29.
*/
public class LikeHashMap<K,V> extends HashMap<K,V> {
public List<V> getValues(Object key) {
List<V> values = new ArrayList<V>();
K [] keys = null;
Set<K> set = this.keySet();
keys = (K [])set.toArray();
Arrays.sort(keys);
for(int i = 0 ;i < keys.length;i++){
if(keys[i].toString().indexOf(key.toString()) == -1 && values.size() <1){
continue;
}else if(keys[i].toString().indexOf(key.toString()) != -1 ){
values.add(this.get(keys[i]));
}else{
break;
}
}
return values;
}
public static void main(String[] args) {
LikeHashMap<String,String> map = new LikeHashMap<String, String>();
for (int i = 0; i < 100000; i++) {
if(i%2 == 0){
map.put("B_"+i, "BBBBB"+i);
}else{
map.put("A_"+i, "AAAAAA"+i);
}
}
long time=System.currentTimeMillis();
System.out.println(map.getValues("ca").size());
System.out.println(System.currentTimeMillis()-time);
}
}
相关推荐
HashMap中的值是成对地放置的,即VALUE-KEY.因此我们一般在MAP中取出数据时得根据KEY来取出VALUE.但若我们想出VALUE值,但却不知对应地KEY,这时我们就得先遍历VALUE值,找出对应地KEY值,再根据KEY值取出VALUE值
简单的hashmap key、value方便以后直接用。
Map集合的特性:一个key值对应一个value值,key值保持着唯一性,而插入的键值对相同key值会发生覆盖原key值对应的value值。 Map集合中一个key对应一个value,但是一个相同的value值可以对应多个key值 下面我们来根据...
NULL 博文链接:https://gghaomm.iteye.com/blog/1754487
工程(VS2013)主要构造了HashMap和list集合,通过查找集合中的元素对两者的效率进行比较
本文讲解了java HashMap通过value反查key的方法,直接提供代码供大家参考使用
HashMap允许将null作为一个entry的key或者value,而Hashtable不允许。 HashMap把Hashtable的contains方法去掉了,改成containsvalue和containsKey。因为contains方法容易让人引起误解。 Hashtable继承自Dictionary类...
HashMap是一个散列桶(数组和链表),它存储的内容是键值对(key-value)映射HashMap采用了数组和链表的数据结构,能在查询和修改方便继承了数组的线性查找和链表的寻址修改HashMap是非synchronized,所以HashMap很快...
HashMap是一个存储key-value的键值对集合,每一个元素都是一个Entry,这些键值对分散在数组当中。 你为什么要用HashMap? 1.解决问题需要的数据结构是一种键值对的数据结构 2.HashMap是线程不安全的,其速度比较快 3....
下面小编就为大家带来一篇Java用自定义的类作为HashMap的key值实例。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
get(key) -> get value associated with key set(key,value) -> set new element in map by key and value delete(key) -> delete entry by key has(key) -> Returns true/false based on whether the map contains ...
HashMap& ConcurrentHashMap 深度解析
hashmap实例 hashmap实例hashmap实例hashmap实例
HashMap介绍和使用
map接口是一个双边队列,拥有key,value两个属性,其中key在存储的集合中不允许重复,value可以重复。 HashMap特点 存储结构在jdk1.7当中是数组加链表的结构,在jdk1.8当中改为了数组加链表加红黑树的结构。 HashMap...
hashmap相关的面试题
HASHMAP排序,对一个无序以KEY为数字的MAP进行排序,比较简单操作
12.如果使用Object作为HashMap的Key,应该怎么办呢? 13.HashMap为什么不直接使用hashCode()处理后的哈希值直接作为table的下标? 14.HashMap 的长度为什么是2的幂次方? 15.HashMap 与 HashTable 有什么区别? 16....
HashMap内部使用哈希表来实现,通过将键映射到哈希表中的一个位置来快速查找和插入元素。 HashMap的主要特点是: 非线程安全:如果多个线程同时访问同一个HashMap实例,可能会导致数据不一致的问题。因此,在使用...
C语言实现hashMap,包含创建hashMap、插入hashMap、查找hashMap、删除hashMap,已经若干经典的hash函数。文章链接:https://blog.csdn.net/sxf1061700625/article/details/109594495