Arraylist JAVA

jahred

Power Member
Boas minha gente!

Em java criei um programa que usa um ArrayList, que contém instâncias da classe Tarefas.

O que eu queria saber é se posso fazer o seguinte, de modo a modificar a prioridade "p" de uma tarefa "i":

sendo heap o ArrayList, "i" é a posição da tarefa no ArrayList, setPriority é uma função da classe Tarefas que modifica a prioridade de uma tarefa, e "p" é a prioridade a modificar:

heap.get(i).setPriority(p);

isto funciona?

ou tenho que fazer uma tarefa auxiliar, modificar a tarefa auxiliar e substituir? tipo isto:
Task aux=heap.get(i);
aux.setPriority(p);
heap.set(i,aux);

obrigado pela ajuda...
 
Assumindo que utilizas genéricos (i.e. a tua variável heap é do tipo ArrayList<Task>), o teu código funciona correctamente mas talvez fique mais perceptível se separares.
 
Última edição:
Sim, está legível.

Já agora, a última linha do código que colocaste acima ( heap.get(i); ) é redundante, pois ao fazeres heap.get(i) estás a obter uma referência para o objecto que se encontra na posição i da lista e, consequentemente, as alterações a essa referência vão repercutir-se na lista.
 
Back
Topo