import java.util.ArrayList; import java.util.List; import java.util.Scanner; public class Test2 { public static void main(String[] args){
Scanner sc = new Scanner(System.in); String str = sc.next(); List<Character> list = new ArrayList<Character>(); for(int i=0; i<str.length(); i++){ if(!list.contains(str.charAt(i))){ list.add(str.charAt(i)); } } System.out.println(list); } }
HashSet是不行的,因为HashSet是无序的!
String str = "abdabbefgf"; String b = ""; for(int i =0;i < str.length();i++){ if(b.indexOf(str.charAt(i)) == -1){ b+=str.charAt(i)) ; } }
import java.util.LinkedHashSet; public class Test{ public static void main(String args[]){ LinkedHashSet<Character> set = new LinkedHashSet<Character>(); String s = "abdabbefgf"; for(Character c:s.toCharArray()){ if(set.add(c)){ System.out.print(c); } } System.out.println(set); } }
public static void main(String[] args) { String str = "abdabbefgf"; String b = ""; for (char c : str.toCharArray()) if (b.indexOf(c) == -1) b += c; System.out.println(b); }
for example String s = "abdabbefgf"; StringBuilder buf = new StringBuilder(); char[] c = s.toCharArray(); for (int i=0; i<c.length; i++) { if (s.indexOf(c[i]) == i) buf.append(c[i]); } System.out.println(buf);
为了表示赞同,我也写个调整版: String str = "abdabbefgf"; StringBuilder buf = new StringBuilder(); char[] c = str.toCharArray(); boolean[] flags = new boolean[26]; for (int i = 0; i < c.length; i++) { if (!flags[c[i] - 'a']) { buf.append(c[i]); flags[c[i] - 'a'] = true; if (buf.length() == 26) break; } } System.out.println(buf);不过只能正常工作于全小写字母,哈哈。
import java.util.List;
import java.util.Scanner;
public class Test2 { public static void main(String[] args){
Scanner sc = new Scanner(System.in);
String str = sc.next();
List<Character> list = new ArrayList<Character>();
for(int i=0; i<str.length(); i++){
if(!list.contains(str.charAt(i))){
list.add(str.charAt(i));
}
}
System.out.println(list);
}
}
String b = "";
for(int i =0;i < str.length();i++){
if(b.indexOf(str.charAt(i)) == -1){
b+=str.charAt(i)) ; } }
import java.util.LinkedHashSet;
public class Test{
public static void main(String args[]){
LinkedHashSet<Character> set = new LinkedHashSet<Character>();
String s = "abdabbefgf";
for(Character c:s.toCharArray()){
if(set.add(c)){
System.out.print(c);
}
}
System.out.println(set);
}
}
public static void main(String[] args) {
String str = "abdabbefgf";
String b = ""; for (char c : str.toCharArray())
if (b.indexOf(c) == -1)
b += c;
System.out.println(b);
}
String s = "abdabbefgf";
StringBuilder buf = new StringBuilder();
char[] c = s.toCharArray();
for (int i=0; i<c.length; i++) {
if (s.indexOf(c[i]) == i) buf.append(c[i]);
}
System.out.println(buf);
为了表示赞同,我也写个调整版: String str = "abdabbefgf";
StringBuilder buf = new StringBuilder();
char[] c = str.toCharArray();
boolean[] flags = new boolean[26];
for (int i = 0; i < c.length; i++) {
if (!flags[c[i] - 'a']) {
buf.append(c[i]);
flags[c[i] - 'a'] = true;
if (buf.length() == 26) break;
}
}
System.out.println(buf);不过只能正常工作于全小写字母,哈哈。