Search code examples
javastringcharacterdistinct

How to find number of distinct characters in a string


I have to count the number of distinct characters alphabet in the string, so in this case the count will be - 3 (d, k and s).

Given the following String:

String input;
input = "223d323dk2388s";
count(input);

My Code :

public int  count(String string) {
        int count=0;
        String character = string;
        ArrayList<Character> distinct= new ArrayList<>();
        for(int i=0;i<character.length();i++){
            char temp = character.charAt(i);
            int j=0;
            for( j=0;j<distinct.size();j++){

                if(temp!=distinct.get(j)){

                    break;
                }

            }

            if(!(j==distinct.size())){
                distinct.add(temp);

            }
        }

        return distinct.size();
    }

Output : 3

Are there any native libraries which return me the number of characters present in that string ?


Solution

  • With java 8 it is much easy. You could use something like this

    return string.chars().distinct().count();