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:
Postar um comentário