Can anyone help me in implementing a threaded list to perform set operations? Without using native Java functions, such as ArrayList
.
The algorithm already generates a linked list and adds new nodes, but how do I make an operation like union?
In Main
, I'm instantiating two classes, each one would be a list with values, but what do I call a union function that takes these two lists as a parameter, and how do I cycle through them simultaneously? (I know how to go one at a time)
Code - Main
public class TrabalhoListas {
public static void main(String[] args) {
ListaDinamica teste = new ListaDinamica();
ListaDinamica teste2 = new ListaDinamica();
teste.add(1);
teste.add(2);
teste.add(3);
teste.imprimeLista();
System.out.println("Segunda lista");
teste2.add(1);
teste2.add(6);
teste2.add(3);
teste2.imprimeLista();
System.out.println("Primeira de novo");
teste.imprimeLista();
}
}
--- List ---
public class Lista {
private int valor;
private Lista prox;
public Lista() {
}
public int getValor() {
return valor;
}
public void setValor(int valor) {
this.valor = valor;
}
public Lista getProx() {
return prox;
}
public void setProx(Lista prox) {
this.prox = prox;
}
}
Dynamic List
public class ListaDinamica {
Lista primeiro;
Lista ultimo;
int tamanho = 0;
public ListaDinamica() {
primeiro = null;
ultimo = primeiro;
}
public void add(int valor) {
Lista novo = new Lista();
novo.setValor(valor);
tamanho++;
if (primeiro == null) {
primeiro = novo;
ultimo = novo;
novo.setProx(null);
} else {
novo.setProx(primeiro);
primeiro = novo;
}
}
public void imprimeLista() {
Lista atual = primeiro;
for(int i = 0; i < tamanho; i++){
System.out.println(atual.getValor());
atual = atual.getProx();
}
}
public void uniao(){
}
}