Listar ArrayList

12 respostas
R

tenho algum erro no seguinte código?

ArrayList a = (ArrayList)request.getAttribute(linhasCategoria);

Iterator i = a.iterator();

while( i.hasNext() ) {

out.print( i.next() + "  " );

}

12 Respostas

T

Aparentemente não. Mas qual é seu problema?

ArrayList a = (ArrayList)request.getAttribute("linhasCategoria");
Iterator i = a.iterator();
while( i.hasNext() ) {
out.print( i.next() + " " );
}
R

ele não está listando, e não tenho como ver o erro pq não to usando nenhuma ide, nem exception dá pq eu to vindo de uma servlet, se eu imprimir a variável “a” ela me dá lista os valores na forma [valor1, valor2, valor3]

R

eu estou importando só isto:
<%@page import=“java.util.ArrayList”%>

aí dentro tá o iterator tb ou ele está em outro lugar?

R

para ficar mais claro o erro aqui:

ArrayList a = new ArrayList();
			a.add("aaaa");
			a.add("bbbb");
			a.add("ccc");
			
			
			
			Iterator i = a.iterator();
			while( i.hasNext() ) {
				out.print( i.next() + "  " );
			}

deve ter algum erro de código aí…

aangreen

esse “linhasCategoria” q vem da página anterior é o q???

jgbt

Aparentemente vc não esta importando o Iterator do pacote java.util. Mas deveria dar erro de compilação no seu jsp.
coloque o import do Iterator e da uma testada.

[]'s

R

é um arraylist, mas tá vindo certo, no meu segundo exemplo ali acontece a mesma coisa, é melhor ir por ele q dae pode ver desde o inicio da rotina para achar um problema, por favor, alguem tente rodar aquele código para ver o erro…

R

isso aí velhinho, valeu! eu não estava importando o iterator msm

R

agora eu gostaria de perguntar uma coisa, eu só estava usando o add para adicionar valores a minha arraylist eu tenho como fazer ela bidimensional? pois preciso importar categorias e subcategorias

Mantu

Voce pode adicionar qualquer coisa que não seja um tipo primitivo. O problema é que depois vc vai ter que saber de alguma forma o que é que vc está retirando na posição i do seu ArrayList. A saída mais provável será verificar a cada elemento se ele é uma instância de ArrayList, ou List, ou Collection, dependendo de como será a lista que vc inserir.

ArrayList a = new ArrayList();
ArrayList aa = new ArrayList()
a.add("a");
a.add("b");
a.add("c");
aa.add("1");
aa.add("2");
a.add(aa);

Iterator i = a.iterator();
while( i.hasNext() ) {
   Object elem = i.next();
   if(elem instanceof Collection){//Não esqueça de importar java.util.Collection
      Collection c = (Collection)elem;
      //Faça aqui o que vc quiser com a sua Collection c
   }else
      out.print( i.next() + " " );
}

Ao invés de Collection, você pode utilizar um List, que é filha de Collection, ou ArrayList mesmo, que implementa List. Isso vai depender de como você manda a suas “sub categorias”.

jgbt

vc não pode colocar as sub categorias dentro de categorias? assim qunado vc pega uma categoris, dentro dela vc tem as sub dela.

[]'s

Mantu

jgbt:
vc não pode colocar as sub categorias dentro de categorias? assim qunado vc pega uma categoris, dentro dela vc tem as sub dela.

[]'s


Olha só, Concordo com o colega jgbt! Talvez seja o caso de vc criar alguma classe que represente essas categorias com prováveis subcategorias. Algumo coisa nesse estilo:

public class Category{
   private String name;
   private Category subCategory;
   ....
}

Não que isso seja o suficiente, mas algo nessa direção

Criado 29 de novembro de 2006
Ultima resposta 30 de nov. de 2006
Respostas 12
Participantes 5