java set的去重问题

java set的去重问题,第1张

/**

    您好,提问者:

  怎么可以用Set呢,Map是无重复的,使用Map方便,下面是例子,您看下。

**/

import java.util.HashMap

import java.util.Map

public class Demo {

public static void main(String[] args) {

String[] str1 = { "A", "B" }

String[] str2 = { "A", "B" }

String[] str3 = { "A", "C" }

Map<String, String[]> map = new HashMap<String, String[]>()

map = setMap("str1",str1,map)

map = setMap("str2",str2,map)

map = setMap("str3",str3,map)

}

public static Map<String, String[]> setMap(String name, String[] arr,Map<String, String[]> map){

if(map.size() == 0){

map.put(name, arr)

}else{

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

for(String[] str : map.values()){

if(str[i] != arr[i]){

map.put(name, arr)

}

}

}

}

return map

}

}

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()

    }

}

运行截图:

希望能帮助你哈

主要是这一行:

if((m==0&&d[m]==d[m+1])||(m==d.length-1&&d[m]==d[m-1])||((m>0&&m<d.length-1)&&d[m]==d[m-1]||d[m]==d[m+1]))

数组越界了,你在左右对比的时候,需要注意一下,不要超过了数组的边界


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

原文地址: https://www.outofmemory.cn/bake/11463867.html

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

发表评论

登录后才能评论

评论列表(0条)

保存