Ребята объясните работу Java кода

Ребята всем привет, пожалуйста поясните мне работу этого кода шаг за шагом, я понимаю что он делает в целом, но как то шаг за шагом не понял, нужно чтоб он передаваемый параметр он выводил в таком виде ( yahoo mail gmail ) , заранее благодарен, не серчайте

66

Эта херня вообще не будет работать на реальных адресах, например: "[email protected]".
1. Сперва надо split сделать по символу ';'. и разбить на список почт.
2. Удалить из списка пустые строки.
3. Потом каждую почту split'ом разбить по символу '@'.
4. Взять вторую часть почты и разбить по символу '.'.
5. Из последнего разбиения взять предпоследний элемент это и будет домен типа yahoo, gmail и тд.
...
PROFIT...

Еще факультативно почитать RFC 2142 по именам email какие там знаки допустимы и тд.

3

1. Сперва надо split сделать по символу ';'. и разбить на список почт.Что с затратами по памяти? А что, если на вход будет подаваться не 1 строка, а файл?

это из курса по джава , просто задача такая