Java初学Text7---集合2

需求:定义一个方法,接受一个字符串,
功能:去重,输入一个字符串,返回一个没有重复元素的字符串 - .使用不少于2种方式实现
1、原生字符串,2、字符串数组,3、List, 4、set,5、HashMap

package Week5Set;
import java.util.HashSet;
import java.util.Set;
public class Text0 {//Set集合
    public     String getStr(Set set){
        String result="";
        for (Object o:set) {
            String s=(String)o;
            result=result+s;
        }
        return result;
    }
    public String str(String s){
        String result="";
        Set set=new HashSet();
        for (int i = 0; i <s.length(); i++) {
            String a=s.charAt(i)+"";
            set.add(a);
        }
       result=getStr(set);
        return result;
    }
}

package Week5Set;
import java.util.ArrayList;
import java.util.List;

public class Text1 {//list集合
    public     String getStr(List list){
        String result="";
        for (Object o:list) {
            String s=(String)o;
            result=result+s;
        }
        return result;
    }
    public String str(String s){
        String result="";
        List list=new ArrayList();
        for (int i = 0; i <s.length() ; i++) {
            String a=s.charAt(i)+"";//这里要用字符串类型,不然用char类型后面的类型转换会报错
            boolean pd=list.contains(a);
            if(pd==false){
                list.add(a);
            }
        }
        result=getStr(list);
        return result;
    }
}
package Week5Set;
import java.util.Arrays;
public class Text2 {//字符串数组
    public void clearArr(String s){
//        创建一个对比数组
        String[] arr = new String[0];
        for (int i = 0; i < s.length(); i++) {
//            将charAt的char值变成String类型并且命名
            String str=s.charAt(i)+"";
            if(s.indexOf(str) == i) {
//                创建扩容数组
                String[] newarr = Arrays.copyOf(arr,arr.length+1);
//                循环添加数组进入已经扩容成功的数组
                for(int j=0;j < newarr.length;j++){
                    newarr[j]=str;
                    System.out.print(newarr[j]);
                }
            }
        }
    }

}
package Week5Set;
public class Text3 {//字符串拼接
    public String str(String s){
    String reslut="";
        for (int i = 0; i <s.length() ; i++) {
            String  str=s.charAt(i)+"";
            if(reslut.indexOf(str)==-1){
                reslut=str+reslut;
            }
        }
    return reslut;
    }
}
package Week5Set;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
public class Text4 {
    public String str(String S){
        String result="";
        Map map=new HashMap();
        for (int i = 0; i <S.length() ; i++) {
            String a=S.charAt(i)+"";
            map.put(a,i);
        }
        Iterator iterator=map.keySet().iterator();//这里的map.keySet()是字符串

        while (iterator.hasNext()){
            result=result+iterator.next();
        }
        return result;
    }
}
package Week5Set;
public class Demo {
    public static void main(String[] args) {
        Text0 t=new Text0();//方法0使用Set集合
        String x0=t.str("1abcabcdeab");
        System.out.println(x0);
        Text1 t1=new Text1();//方法1使用list集合
        String x1=t1.str("2abcabhgcab");
        System.out.println(x1);
        Text2 t2=new Text2();//方法2使用字符串数组
        t2.clearArr("3abcabcab");
        System.out.println("");
        Text3 t3=new Text3();//字符串拼接
        String x3=t3.str("4abcabcab");
        System.out.println(x3);
        Text4 t4=new Text4();//HashMap
        String x4=t4.str("5abcabcab");
        System.out.println(x4);

    }
}

运行结果:

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值