解决方案 »

  1.   

    你应该循环List<String>,再用map取找。这样 速度 应该快的多!
      

  2.   

    已知一个结果集,结果集的结构是这样的,如{a,b,c,d,e....}此结果集是唯一的且数据量较大(10万),无重复值
    可以使用HashSet来存储
      

  3.   

    按你说的 我模拟了一下!!只要1748毫秒啊!!!,难道我错了。参考如下程序!public static void main(String[] args) {
    Map<String, String> map = new HashMap<String, String>();
    for (int i = 0; i < 500000; i++) {
    map.put(i + "", "我是" + i);
    }
    List<String> list = new ArrayList<String>();
    for (int j = 0; j < 100000; j++) {
    list.add(j + "");
    }
    long l1 = System.currentTimeMillis();
    for (String index : list) {
    if (map.containsKey(index)) {
    System.out.println("key:" + index + ";value:" + map.get(index));
    }
    }
    long l2 = System.currentTimeMillis();
    System.out.println("执行时间(毫秒)" + (l2 - l1));
    }
      

  4.   

    大家还有什么方法呀,除了用循环遍历以外,是否能用矩阵的方式?还有楼上的map.containsKey(XXX),List.contains(XXX),Set.contains(XXX)这三个方法中,哪个查询的速度最快呢?最好给出点原理
      

  5.   

    list  也用类似的哈希码存储。
      

  6.   

    无重复值可以使用HashSet来存储,可以大幅度提高性能