java中怎么找出数组中重复的数并去除?

java中怎么找出数组中重复的数并去除?,第1张

java中找出数组中重复的数并去除的代码如下:

 public static void testA() { 

    String [] str = {"Java", "C++", "Php", "C#", "Python", "C++", "Java"} 

    for (String elementA:str ) { 

      System.out.print(elementA + " ") 

    } 

    List<String> list = new ArrayList<String>() 

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

      if(!list.contains(str[i])) { 

        list.add(str[i]) 

      } 

    } 

    System.out.println() 

    String[] newStr = list.toArray(new String[1]) //返回一个包含所有对象的指定类型的数组  

    for (String elementB:newStr ) { 

      System.out.print(elementB + " ") 

    } 

    System.out.println() 

  }

所谓数组,是无序元素序列。 若将有限个类型相同的变量的集合命名,那么这个名称为数组名。组成数组的各个变量称为数组的分量,也称为数组的元素,有时也称为下标变量。用于区分数组的各个元素的数字编号称为下标。数组是在程序设计中,为了处理方便, 把具有相同类型的若干元素按无序的形式组织起来的一种形式。 这些无序排列的同类数据元素的集合称为数组。

举例:

int a[10]说明整型数组a,有10个元素。

float b[10],c[20]说明实型数组b,有10个元素,实型数组c,有20个元素。

char ch[20]说明字符数组ch,有20个元素。

数组中的所有元素都具有相同类型(这一点和结构或类中的字段不同,它们可以是不同类型)。数组中的元素存储在一个连续性的内存块中,并通过索引来访问(这一点也和结构和类中的字段不同,它们通过名称来访问)。

计数方法,你在遍历数组外边int 一个数=0,如果某个数和数组【i】相等,就++

删除方法我用的是笨方法,因为数组不能直接增删 *** 作,要先算出新数组的长度,在遍历出去,我是取巧了先排序了,当然你也可以用其他排序方法排序

public static void main(String[] args) {

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

int len=arr.length

Arrays.sort(arr)

int leng=0

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

if(arr[i]!=arr[i+1]){

leng++

}

}

if(arr[arr.length-2]!=arr[arr.length-1]){

leng++

}

System.out.println(leng)

int newlength=0

int []newArr=new int[leng]

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

if(arr[i]!=arr[i+1]){

newArr[newlength]=arr[i]

newlength++

}

}

if(arr[arr.length-2]!=arr[arr.length-1]){

newArr[newlength]=arr[arr.length-1]

}

for(int i=0i<newArr.lengthi++){

System.out.println(newArr[i])

}

}


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/sjk/6423512.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-03-21
下一篇 2023-03-21

发表评论

登录后才能评论

评论列表(0条)

保存