Olá!
Segue minha resolução:
import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;
public class ListaConvidados {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
List<String> listaConvidados = new ArrayList<>();
System.out.println("Digite os nomes na lista ou algum dos comandos a seguir: \n -ver: para visualizar a lista. " +
"\n-remover <nome>: para retirar da lista\n-contar: para saber a quantidade de convidados\n " +
"-limpar: para limpar a lista\n- sair: para finalizar\n");
while (true) {
String nome = sc.nextLine();
String lower = nome.toLowerCase();
if (lower.equals("sair")) {
System.out.println("finalizando...");
System.out.println("Lista final: " + listaConvidados);
break;
} else if (lower.equals("ver")) {
if (listaConvidados.isEmpty()) {
System.out.println("Lista vazia");
} else {
System.out.println("Lista atualizada: " + listaConvidados);
}
continue;
} else if (lower.equals("contar")) {
System.out.println("Quantidade de convidados " + listaConvidados.size());
continue;
} else if (lower.equals("remover")) {
System.out.println("Digite o nome a ser removido: ");
String nomeRemovido = sc.nextLine();
listaConvidados.remove(nomeRemovido);
System.out.println(nomeRemovido + " removido com sucesso!");
continue;
} else if (lower.equals("limpar")) {
listaConvidados.clear();
System.out.println("Lista zerada!");
continue;
} else if (listaConvidados.contains(nome)) {
System.out.println("Convidado já inserido");
continue;
}
listaConvidados.add(nome);
}
}
}