java判断数组元素是否重复:
一、先对数组去重,然后通过判断数组长度即可判断数组元素是否重复。
/** * 判断数组内有无重复元素 * @param args * @return true 有重复 | false 无重复 */ public static boolean hasRepeat(Object[] args){ Set<Object> tempSet = new HashSet<Object>(); for (int i = 0; i < args.length; i++) { tempSet.add(args[i]); } if(args.length == tempSet.size()){ return false; }else{ return true; } }
二、通过双重循环依次比较数组中元素是否相等判断元素是否重复
1、两个for循环,依次判断是否相等,或先调用Arrays.sort(),然后再用Arrays.binarysearch()比较
2、把数组转化成一个用特殊字符分隔的字符串,然后用正则表达式里的\1,也就是第一个匹配结果,此方法效率较高。
public void testMethod(){ int []b=new int[]{1,3,5,6,2,4,20,9}; boolean flag=true; for(int i=0;i<b.length-1;i++){ for(int j=i+1;j<b.length;j++){ //注意FOR嵌套的用法 if(b[i]==b[j]){ flag=false; //break; }else{ flag=true; //break; } } } if(flag){ System.out.println("不重复"); }else{ System.out.println("重复"); } }