删除重复的字符,保留顺序

时间:2013-11-28 15:35:01

标签: java string

我正在尝试编写一个代码String并删除String中的重复字符。

String utenRepetisjon(String tekst) {

    String b;

    char[] tekstArray = tekst.toCharArray();
    char[] tilTekst = new char[tekstArray.length];

    for(int i=0; i<tekstArray.length; i++) {
        for(int j=0; j<tekst.length(); j++) {
            if(tekstArray[i] != tekst.charAt(j)) {
                tilTekst[i] = tekstArray[i];
            }
        }
    }
    return b = new String(tilTekst);
}

E.g。如果tekst = "aababbabbac",则应返回"abc"。 到目前为止,我的代码只返回它给出的相同的tekst ..

2 个答案:

答案 0 :(得分:5)

尝试下一个:

String utenRepetisjon(String tekst) {
    String str = "";
    for(char ch : tekst.toCharArray()) {
        if (str.indexOf(ch) == -1) {
            str += ch;
        }
    }
    return str;
}

答案 1 :(得分:-1)

这是代码。 使用hashmap

 String tekst = "aababbabbac";
    char[] testArray = tekst.toCharArray();
    Hashtable<String, String> hash = new Hashtable<String, String>();
    for (char c : testArray) {
        if (!hash.containsKey("" + c)) {
            hash.put("" + c, "1");
        }
    }
    String dups = "";
    for (String key : hash.keySet()) {
        dups+=key;
    }
    System.out.println(dups);