Java字符串去重按照ASCII編碼輸出
問題描述:
如何實現(xiàn)Java字符串去重,并按照ASCII編碼輸出去重后的字符串?
解答:
要實現(xiàn)Java字符串去重并按照ASCII編碼輸出去重后的字符串,可以采用以下步驟:
1. 創(chuàng)建一個空的StringBuilder對象,用于存儲去重后的字符。
2. 遍歷原始字符串中的每個字符,判斷是否已經(jīng)存在于StringBuilder中。
3. 如果字符不存在于StringBuilder中,則將其添加到StringBuilder中。
4. 將StringBuilder轉(zhuǎn)換為字符串并按照ASCII編碼進行排序。
下面是一個示例代碼,演示了如何實現(xiàn)上述步驟:
`java
public class StringDuplicateRemoval {
public static String removeDuplicates(String input) {
StringBuilder sb = new StringBuilder();
boolean[] visited = new boolean[256]; // ASCII碼范圍為0-255
for (int i = 0; i < input.length(); i++) {
char c = input.charAt(i);
if (!visited[c]) {
sb.append(c);
visited[c] = true;
}
}
// 將StringBuilder轉(zhuǎn)換為字符串
String result = sb.toString();
// 按照ASCII編碼進行排序
char[] chars = result.toCharArray();
Arrays.sort(chars);
return new String(chars);
}
public static void main(String[] args) {
String input = "aabbccddeeff";
String output = removeDuplicates(input);
System.out.println(output); // 輸出:abcdef
}
`
在上述示例代碼中,我們使用了一個boolean類型的數(shù)組visited來標記每個字符是否已經(jīng)出現(xiàn)過。如果某個字符未出現(xiàn)過,則將其添加到StringBuilder中,并將對應的visited數(shù)組位置標記為true。將StringBuilder轉(zhuǎn)換為字符串,并按照ASCII編碼進行排序。
通過以上步驟,我們可以實現(xiàn)Java字符串去重并按照ASCII編碼輸出去重后的字符串。