Jump to content
clecio10

Implementação de lista em java

Recommended Posts

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);
    }
}

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Similar Content

    • By Vinicius Bazan
      Galera to com uma duvida aqui, no javascript é possível fazer uma função dentro de outra e uma acessar os valores de uma var da outra?
       
      Por exemplo digamos que eu tenha uma function a() e uma function b(), eu preciso que a function a utilize valores de variáveis que estarão na function b, se isto for possível a função b terá que estar dentro de a ou seria ao contrario?
    • By israel@iproduce.com.br
      Olá,
      Boa noite!
      Tenho algumas vagas para motion (basicamente banner de internet animado e vinhetas para redes sociais) para a cidade do Rio de Janeiro. As vagas são temporárias (6 meses), podendo ocorrer a efetivação nesse período. É necessário estar alocado no escritório no Rio.
      Conhecimento avançado em: Adobe Animate CC, Google Web Designer, After Effects.
      Além destes programas é um diferencial conhecer a linguagens: HTML5, CSS3 e Javascript.
      Tem interesse ou conhece alguém que esteja precisando? Então manda o seu portifólio e CV para no e-mail: freela@iproduce.com.br
      Boa sorte!
    • By Vinicius Bazan
      Sou leigo ainda no Java Script e não manjo de muita coisa ainda, eu preciso fazer uma função que que deve ser executada na pagina HTML, eu crio a função dentro da tag <script> na <head> do html, mas como eu chamo essa função no momento que eu precisar no <body>, o que eu devo digitar pro código saber que ali deve executar a função?
    • By PRWEB
      Boa tarde!!!
       
      Por favor como faço para marcar um checkbox e ai marca automaticamente um campo radio?
       
      Obrigado
    • By Randys
      Eu selecionei um elemento e adicionei a classe ativo nele, agora não estou conseguindo remover a classe quando eu seleciono outro elemento
      const article = document.getElementById(id); article.classList.add('ativo'); Eu preciso remover a classe ativo quando eu clicar em outro elemento article, como faço isso?
×

Important Information

Ao usar o fórum, você concorda com nossos Terms of Use.