JAVA 去掉重复的数据

Python012

JAVA 去掉重复的数据,第1张

无非就是检查是否已经有数据的问题,用List做可能比较简单点

public class SigleList{

    List<Integer> nums

    

    public SingleList(){

        nums = new ArrayList<Integer>()

    }

    

    public void add(Integer num){

        if(!checkNumExist){

            nums.add(num)

        }

    }

    

    public boolean checkNumExist(Integer){

        return nums.contains(Integer)

    }

}

这个SingleList就简单实现了去重增加,可以用它来读数据

public class Test{

    public static void main(String[] args){

        SingleList nums = new SingleList()

    

        // 产生100个数据

        for(int i = 0 i++ i < 100){

            // 产生随机数

            Integer num = new Random().nextInt(100000)

            nums.add(num)

        }

        

        foreach(Integer num : nums){

            System.out.println(num)

        }

    }

}

java数组中去掉重复数据可以使用set集合,set本身内部是不保存重复的数据的,如下代码:

 

import java.util.Arraysimport java.util.Setimport java.util.TreeSet public class ceshi {    public static void main(String[] args) {         int[] testArr = { 5, 5, 1, 2, 3, 6, -7, 8, 6, 45, 5 }//新建一个int类型数组        System.out.println(Arrays.toString(testArr))        Set<Integer> set = new TreeSet<Integer>()//新建一个set集合        for (int i : testArr) {            set.add(i)        }        Integer[] arr2 = set.toArray(new Integer[0])        // 数组的包装类型不能转 只能自己转;吧Integer转为为int数组;        int[] result = new int[arr2.length]        for (int i = 0 i < result.length i++) {            result[i] = arr2[i]        }        System.out.println(Arrays.toString(arr2))    }}

运行结果如下:

lz  你好

这个就是一个比较简单的算法题 , 你可以自己写

但是用Java语言就不需要了 , Java自带泛型相关的类 , 很有用

其中TreeSet集合能自动识别添加的是否重复 , 重复的将不会添加 , 很方便

以下是实现代码:

import java.util.List

import java.util.Scanner

public class DeleteRepeated {

private String str

private TreeSet<String> noReapted//带有String类型的TreeSet泛型

        

    public DeleteRepeated() {

     Scanner in = new Scanner(System.in)

    

     System.out.println ("输入一个字符串:")

     str = in.nextLine()

    

     noReapted = new TreeSet()

    }

    

    //清楚重复的数据

    public void removeRepeated(){

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

     noReapted.add(""+str.charAt(i))

     //str.charAt(i)返回的是char型  所以先加一个""空格 , 转换成String型

     //TreeSet泛型能保证重复的不加入 , 而且有序

     }

    

     str = ""

    

     for(String index:noReapted){

     str += index

     }

    

     //输出

     System.out.println (str)

    }

    

    public static void main(String[] args) {

     DeleteRepeated dr = new DeleteRepeated()

    

     dr.removeRepeated()

    }

}

运行截图:

希望能帮助你哈