Pesquisar neste blog

04/11/2019

Buscar elementos iguais em java

import javax.swing.JOptionPane;

/**
 *
 * @author HENRIQUE
 */
public class Lista {
    
    private Object[] objeto;
    private int tamanho;
    
    public Lista(){
    }
    public Lista(int capacidade){
        this.objeto = new Object[capacidade];
        this.tamanho = 0;
    }
    public boolean adicionar(Object elemento){
        if(tamanho < objeto.length){
            objeto[tamanho] = elemento;
            tamanho++;
            return true;
        }return false;
    }
    
    public int buscarElemento(Object elemento){
        for(int i = 0; i < this.tamanho; i++){
            if(this.objeto[i].equals(elemento)){
                return i;
            }
        }return -1;
    }
    
    public Object buscarElem(Object elemento){
        for(int i = 0; i < this.tamanho; i++){
            if(this.objeto[i].equals(elemento)){
                return elemento;
            }
        }return false;
    }
    
    public void erro(String elemento){
        JOptionPane.showMessageDialog(null,"ERRO SEMÂNTICO !", "inteiro "+elemento,JOptionPane.ERROR_MESSAGE);
        throw new IllegalArgumentException("Variável duplicata");
    }
       
    public boolean addIguais(Object elemento){
        if((tamanho < objeto.length)&& (this.contem(elemento)== false)){
            objeto[tamanho] = elemento;
            tamanho++;
            return true;
        }
        System.out.println(elemento+" => Variáveis iguais");
        this.erro((String) elemento);
        return false;
    }
    
    public boolean contem(Object elemento){
        return buscarElemento(elemento) >= 0;
    }
    public int tamanho(){
        return this.tamanho;
    }
    
    public void removerElemento(Object elemento){//esta removendo apenas um elemento
        for(int i = 0; i < this.tamanho -1; i++){
            this.objeto[i] = this.objeto[i+1];
        }
        tamanho--;
    }
    
    public void removerElemPosicao(int posicao){
        if(!(posicao >= 0 && posicao < tamanho)){//se a posição é válida
            throw new IllegalArgumentException("\n\nPOSIÇÃO DE REMOÇÃO INVÁLIDA");
        }else{
            for(int i =0; i < this.tamanho -1; i++){
                this.objeto[i] = this.objeto[i+1];//atualiza a posicao
            }
            tamanho--;
        }
    }
    
    public String toString(){
        StringBuilder s = new StringBuilder();
        
        for(int i =0; i < this.tamanho; i++){
            s.append(this.objeto[i]);
            s.append("\n");
        }
        return s.toString();
    }
}


EXEMPLO : 

/**
 *
 * @author HENRIQUE
 */
public class Main {
    public static void main(String[] args) throws Exception {
        
        Lista listar = new Lista(1000);

        listar.addIguais("palavras");
        listar.addIguais("abacaxi");
        listar.addIguais(9);
        listar.addIguais("FRASES");
        listar.addIguais("abacaxi"); // dará um erro aqui porque já existe este elemento
    }
}

Nenhum comentário: