Ajuda com a implementação de lista em java

Java

JAVA EE

Android Java

Android com Java

04/06/2019

Olá pessoal sou novo no fórum e gostaria da ajuda de vocês na resolução de um exercício de estrutura de dados, não estou sabendo como implementar os métodos com base nas perguntas do exercício. Por favor, quem puder ajudar eu agradeço de coração!

Enunciado:

1. Implemente o método compareTo(Object o) da classe Item ;
2. Implemente a lista duplamente encadeada para a atender a interface ILista ;
3. Implemente a lista simplesmente encadeada circular para a atender a interface ILista ;
4. Implemente a lista duplamente encadeada circular para a atender a interface ILista ;



interface ILista {
    /**
     * Adiciona um elemento na lista
     *
     * @param dado Elemento a ser adicionado
     * @throws ListaException Erro caso não tenha mais espaço disponível.
     */
    void adicionar(Item dado) throws ListaException;

    /**
     * Remove um item da lista
     *
     * @param chave informar a chave de busca do item
     * @throws ListaException Erro caso não tenha o item informado.
     */
    void remover(Comparable chave) throws ListaException;

    /**
     * Caso a chave seja encontrada, retorna verdadeiro
     *
     * @param chave
     * @return
     */
    boolean contem(Comparable chave) throws ListaException;

    /**
     * Retorna a quantidade de elementos
     *
     * @return a quantidade de elementos
     */
    int getQtd();

    /**
     * Adiciona a outra lista no final da lista.
     *
     * @param outralista a outra lista a ser somada.
     */
    void AdicionarNoFinal(ILista outralista) throws ListaException;

    /**
     * Adiciona a outra lista no final da lista.
     *
     * @param outralista a outra lista a ser somada.
     */
    void AdicionarNoFinal(Item[] outralista) throws ListaException;

    /**
     * Adiciona a outra lista após o item chave existente na lista.
     *
     * @param outralista        a outra lista a ser somada.
     * @param chaveDoItemDoMeio elemento chave que antecederá a outra lista
     */
    void AdicionarNoMeio(Comparable chaveDoItemDoMeio, ILista outralista) throws ListaException;

    /**
     * Retorna outra lista com os elementos existentes da lista.
     *
     * @param posicaoInicial posição inicial da lista a ser copiada.
     * @param posicaoFinal   posição final da lista que deve ser copiada.
     */
    Item[] getSubLista(int posicaoInicial, int posicaoFinal) throws ListaException;

    /**
     * Retorna a quantidade de elementos que são iguais ao informado no parâmetro.
     *
     * @param item elemento de comparação.
     */
    int getQtdElementos(Item item) throws ListaException;

    /**
     * Remove os itens duplicados
     *
     * @throws ListaException
     */
    void removerDuplicados() throws ListaException;

}



public class Item implements Comparable {
    private Comparable chave;
    private Object informacaoCompleta;

    public Item() {

    }

    public Item(Comparable chave) {
        this();
        this.chave = chave;
        this.informacaoCompleta = chave;
    }

    public Item(Comparable chave, Object dado) {
        this(chave);
        this.informacaoCompleta = dado;
    }


    public Object getInformacaoCompleta() {
        return informacaoCompleta;
    }

    public void setInformacaoCompleta(Object informacaoCompleta) {
        this.informacaoCompleta = informacaoCompleta;
    }

    public Comparable getChave() {
        return chave;
    }

    public void setChave(Comparable chave) {
        this.chave = chave;
    }

    // Implementar o método compareTo
    public int compareTo(Object o) {
        return 0;
    }
}


public class ListaException extends Exception {
    public ListaException(String msg) {
        super(msg);
    }
}
Clecio

Clecio

Curtidas 0
POSTAR