# Jewels and Stones

You're given strings`J`representing the types of stones that are jewels, and`S`representing the stones you have. Each character in`S`is a type of stone you have. You want to know how many of the stones you have are also jewels.

The letters in`J`are guaranteed distinct, and all characters in`J`and`S`are letters. Letters are case sensitive, so`"a"`is considered a different type of stone from`"A"`.

**Example 1:**

```
Input: J = "aA", S = "aAAbbbb"
Output: 3
```

**Example 2:**

```
Input: J = "z", S = "ZZ"
Output: 0
```

**Note:**

* `S`and`J`will consist of letters and have length at most 50.
* The characters in`J`are distinct.

Here is a solution.

```
class Solution {
    public int numJewelsInStones(String J, String S) {
        // create set of jewels and then iterate through S, and check if a letter is jewel, if yes, increment counter
        Set<Character> jewels = J.chars()
            .mapToObj(c -> (char) c)
            .collect(Collectors.toSet());

        int count = 0;
        for (int i = 0; i < S.length(); i++) {
            if (jewels.contains(S.charAt(i))) {
                count++;
            }
        }
        return count;
    }
}
```
