Setar valor na lista

Pessoal,

Faço uma consulta no BD, e trato os valores na tela com JSTL:

Só que alguns valores eu trato no JS pq fico fazendo refresh chamando o servlet:

Só que as vezes no JS, caso o valor vier vazio/nulo, ele coloca na tabela como undefined, e queria colocar um " - "… pensei em antes de preencher a lista colocar se for vazio :

for (int a=0; a<lista.size(); a++) if(lista.get(a).equals("")|| lista.get(a).equals(null)){ lista.set(a, "-"); } lista.add(alertas);

Mas assim da erro:

The method set(int, ListaAlertas) in the type List is not applicable for the arguments (int, String)

Tem como fazer isso? pegar um item da lista, ver se ele está vazio e setar uma string nele?

Não reconhece o valor que inicia com 0;

Por isso estou tentando alternativas

Reparei que até para realizar o onclick:

<td><a href="#"> <img alt="Lista de Eventos" src="img/lista256.png" width="15" height="15" onclick="listaEventos(${listaAlertas.dispositivo})"> </a></td>

O valor inicia com 0 ele tira. Tem como resolver isso?