Remover elementos duplicados consecutivos

Crie métodos sobrecarregados que recebam uma string ou um array de objetos, removam os elementos duplicados consecutivos e retornem uma lista sem elementos iguais lado a lado, preservando a ordem original.

Exemplos

Program.uniqueInOrder("AAAABBBCCDAABBB") ➞ List.of("A", "B", "C", "D", "A", "B")

Program.uniqueInOrder("ABBCcAD") ➞ List.of("A", "B", "C", "c", "A", "D")

Program.uniqueInOrder(new Object[]{1, 2, 2, 3, 3}) ➞ List.of(1, 2, 3)

Notas

  • A sequência inicial pode ser uma string ou um array de objetos.
  • Os testes diferenciam maiúsculas de minúsculas.