2017-05-20 33 views
-6

我有一個6字符長的字符串,我想檢查一下,如果每個字符只有一個。如何?如果在String中有相同的字符,如何檢查Java?

+2

請給例如輸入和代碼你試圖用字符串處理,你可以在這裏 –

+0

更廣闊的解釋:http://stackoverflow.com/questions/513832/how-do-i-compare-strings- in-java和https://www.tutorialspoint.com/java/java_strings.htm 和https://docs.oracle.com/javase/tutorial/java/data/manipstrings.html –

回答

0

您可以使用Set做到這一點。你需要獨特的元素和保證你包含獨特的元素。 HashSetSet的執行,你可以用它來實現這個想法。

public boolean ifAllCharsUnique(String input){ 
    char[] arr = input.toCharArray(); 
    int length = arr.length; 
    Set<Character> checker = new HashSet<>(); 
    for(int i =0 ; i < length; i++){ 
     if(checker.contains(arr[i]){ 
       return false; 
     } 
     checker.add(arr[i]); 
    } 
    return true; 
} 
+0

使用這種方法,我創建了一個只包含唯一字符的新數組(或ArrayList?)< checker >? – jaraipali

3

你可以明顯不同的字符數比較字符串的長度:

boolean charMoreThanOnce = s.chars().distinct().count() < s.length(); 
+1

儘管我喜歡這樣的漂亮,乾淨,準確的答案;我仍然覺得不高興,因爲這看起來很像你做了某人的作業。並不是說他可以從中獲得很多,但仍然可以。 – GhostCat

+1

是否分裂毛髮指出[它不適用於''「''(http://ideone.com/dyN8ym)? –

相關問題