Oi, Gabriel! Como vai?
Agradeço por compartilhar.
Gostei da forma como você utilizou Pattern e Matcher para extrair as hashtags e armazená-las em uma lista, isso mostra um bom domínio inicial de regex. Também ficou bem organizado o fluxo com verificação de lista vazia e uso do String.join, deixando a saída mais limpa.
Uma dica interessante para o futuro é usar grupos na regex para capturar partes específicas do texto, caso você queira refinar ainda mais o resultado.
Pattern padrao = Pattern.compile("#(\\w+)");
Matcher matcher = padrao.matcher(texto);
while (matcher.find()) {
String tag = matcher.group(1);
System.out.println(tag);
}
Esse código captura apenas o texto da hashtag sem o #, usando grupo de captura ( ), o que pode ser util dependendo do uso.
Conte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!