字符串去重且字符出现的先后顺序不变 java实现
package com.www.test;
import java.util.LinkedHashSet;
import java.util.Scanner;
public class a1 {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner scanner =new Scanner(System.in);
String string=scanner.nextLine();
scanner.close();
if (string==null) {
return;
}
//方法1
String reString="";
char[] c=string.toCharArray();
for (int i = 0; i < string.length(); i++) {
if (!reString.contains(c[i]+"")) {
reString += (c[i]+"");
}
}
System.out.println(reString);
String result=delete(string);
System.out.println(result);
}
//方法2
public static String delete(String string){
LinkedHashSet<Character> hashset=new LinkedHashSet<Character>();
StringBuilder sBuilder=new StringBuilder();
for (int i = 0; i < string.length(); i++) {
if (!hashset.contains(string.charAt(i))) {
hashset.add(string.charAt(i));
sBuilder.append(string.charAt(i));
}
}
return sBuilder.toString();
}
}
输出实例:
asdfeasdsxdsh
asdfexh
asdfexh