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);
}
}