Este projeto consiste na criação manual de uma estrutura de dados Lista Circular implementada na classe ListaCircular<T>, que utiliza a classe No<T> para representar cada elemento da Lista.
Os principais métodos implementados na classe ListaCircular<T> são:
add: para inserir um elemento na Lista.remove: para remover um elemento da Lista especificado pelo index.toString: para retornar uma representação em string da Lista Circular.
O uso de Generics no projeto permitiu que a instância do objeto fosse amarrada a um tipo de dado específico, tornando o código mais seguro e legível, e possibilitando a reutilização de código em diferentes tipos de dados sem a necessidade de repetição de código. Além disso, a utilização de Generics ajudou a evitar erros de casting e a melhorar a performance do projeto.
O projeto contém um exemplo de utilização da ListaCircular<String>, onde são adicionados e removido alguns elementos para demonstrar o funcionamento de uma Lista Circular.
Todo o codigo está comentado para melhor entendimento.