In my project, the user inputs random letters. Then I iterate through `my_list` to see if any of those random letters appear in `my_list`. If so, I remove them from `my_list`.

Example:

`List<String> my_list` contains: `[a, b, c, d]`

`List<String> rand` contains: `[r, a]`

Goal: The `a` will be removed from `my_list`

Problem: The `Iterator` loops through `my_list` searching for the letter `r`. The letter `r` is not in `my_list`. But instead of continuing to the next letter `a`, the `iterator` exits the loop and the `a` still remains in `my_list`

Can someone please tell me why my loop keeps breaking after the first letter?

Here's my code:

```
public void removeLetters( List<String> my_list, List<String> rand ) {
    Iterator<String> i = my_list.iterator();
    for( String s : rand ) {
        while( i.hasNext() ) {
            Object o = i.next();
            if( o.toString().equals( s ) ) {
                i.remove();
                i = my_list.iterator();
                break;
            }
        }
    }
}

```

I hope I explained my problem good enough. Please let me know if I need to explain more in detail.

Thanks