HashMap 通过Key进行like匹配查找value

 

import java.util.*;

 

/**

 * Created by Administrator on 2014/5/29.

 */

public class LikeHashMap extends HashMap {

 

    public List getValues(Object key) {

        List values = new ArrayList();

        K [] keys = null;

        Set 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 map = new LikeHashMap();

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

    }

}

 

你可能感兴趣的:(java)