java 判断一个数组中是否有重复的元素

Python016

java 判断一个数组中是否有重复的元素,第1张

使用一个临时list,借助list.contains判断当前数组的值是否存在于list中,如果不存在则加入到list中,如果存在则记录出来。有点像把一个篮子中的桌球放到另一个空篮子中,如果篮子里面已经有的就不要再放进去了,没有的,一个个放进去。说到底就是个遍历和存在性判断问题。

public static void main(String[] args) {

  int[] arr = { 1, 2, 4, 3, 3, 2, 5, 4, 5, 56, 3, 3, 4, 5454, 3, 5, 4, 5,

    45, 4, 55, 4, 5, 4, 54, }

  System.out.println("请输入一个整数:")

  Scanner input = new Scanner(System.in)

  int num = input.nextInt()

  int count = 0

  for (int i = 0 i < arr.length i++) {

   if (arr[i] == num) {

    count++

   }

  }

  System.out.printf("num重复了%s次",count+"")

 }

1、写两个for循环,外层for循环每取出一个值,都和内层for循环的值做比较,出现两次及以上相同的情况,即有重复元素。当然这种效率比较低。

2、写两个for循环,外层for循环取第一个值的时候,和内层循环的第二个值及之后的值比较;外层for循环取第二个值的时候,和内层循环的第三个值及之后的值比较……

以此类推,出现一次及以上相同的情况,即有重复元素。

过程就是如此,代码自己实现吧!