String pa="52";
String[] aa={"dd","ed","52","4d"};
如何判断pa的值在aa数组之中。
pa是从其他方法获取的,不能用if(pa.equals(aa[2]));因为pa的值有可能在aa数组中没有的,最好不用循环

解决方案 »

  1.   

    int pos=Arrays.binarySearch(aa,pa);
    if(pos!=-1) //则存在
      

  2.   

    不用循环?......即使你写的代码可以不用循环,但是其内部实现也是用了循环去匹配的,比如ArrayList的contains方法
      

  3.   

    不用循环的话我再想想先把循环的给贴上
    public static void main(String [] args)
        {
            String a[]={"dd","ed","52","4d"};
            String b="52";
            int i=0;
            while(i<a.length )
                if (b.equals(a[i++])){
                    System.out.println("找到");
                    return;
                }
            System.out.println("没找到");
        }
      

  4.   

    数组肯定要循环的。要不使用循环,可以用ArrayList的contains方法。String pa="52";java.util.ArrayList<String> aa = new java.util.ArrayList<String>();aa.add("dd");
    aa.add("52");if(aa.contains(pa)){
    System.out.println("包含");
    }else{
    System.out.println("不包含");
    }
      

  5.   

    不用循环不行啊。要一个一个去比对,只有去做循环,ArrayList的contains本质上还是做了循环。