2个字符串型数组,找其中相同的项 ,什么方法效率好?最重要的要定位这些元素!!!

解决方案 »

  1.   

    这种问题一般是用HashMap来做。
      

  2.   

    import java.util.*;
    public class Test{ 
        public static void main(String args[]) throws Exception {
         int[] a={1,2,6,3,4};
         int[] b={7,3,1,8};
         findSameElem(a,b);    
        }
        
        public static void findSameElem(int[] a ,int[] b){
         Map<Integer,Integer> elems=new HashMap<Integer,Integer>();
         for(int i=0;i<a.length;i++){
         elems.put(a[i],i);
         }
         for(int i=0;i<b.length;i++){
         Integer pos=elems.get(b[i]);
         if(pos!=null){
         System.out.println("find same element:"+b[i]+"-----a["+pos+"],b["+i+"]");
         }
         }
        } 
    }F:\java>java Test
    find same element:3-----a[3],b[1]
    find same element:1-----a[0],b[2]