[RESOLVIDO] Unir 2 consultas num list sem repetição

fiz assim e resolveu

[code]@SuppressWarnings(“unchecked”)
public List getAlunos(Integer codigoTurma){
Criteria crit = session.createCriteria(Turma_Aluno.class);
crit.add(Restrictions.eq(“turma.codigo”, codigoTurma));
List<Turma_Aluno> lista = new ArrayList<Turma_Aluno>();
lista = crit.list();
List ids = new ArrayList();
for (Turma_Aluno i : lista ) {
ids.add(i.getAluno().getCodigo());
}
return getBeansByIds(ids);
}

@SuppressWarnings("unchecked")
public List<Aluno> getBeansByIds(List<Serializable> codigos) {
	try {
		if (codigos.size() == 1) {
			List<Aluno> resultado = new ArrayList<Aluno>();
			resultado.add(getBeanTurma(codigos.get(0)));
			return resultado;
		} else if (codigos.size() > 1) {
			Criteria crit = session.createCriteria(Aluno.class);
			crit.add(Restrictions.not(Restrictions.in("codigo", codigos)));
			return crit.list();
		}
	} catch (Exception e) {
		e.printStackTrace();
	}
	return new ArrayList<Aluno>();
}[/code]

Não entendi nada do seu problema.
Seu exemplo não exemplificou nada.

O que cada consulta dessas retorna exatamente?
E o que você gostaria de fazer com o resultado?

Acho que saquei. Não basta usar o método removeAll?

List&lt;Turma_Aluno&gt; todosOsAlunos = getAlunos(codTurma); List&lt;Turma_Aluno&gt; alunosDaTurma = getTurmaAlunos(codTurma); todosOsAlunos.removeAll(alunosDaTurma);

assim nao funciona?

crit.add(Restrictions.eq(“turma.codigo”, “um codigo”)).add(Restrictions.ne(“turma.codigo”, “outro codigo”));

Vini seguinte: a consulta retorna TODOS os alunos da TURMA numa datatable, até ai td bem, nessa mesma tela tenho um selectitem que traz todos os ALUNOS do banco e serve pra adicionar ALUNOS akela referida TURMA e consequentemente na datatable, minha idéia é que nesse selectitem de ALUNOS quero filtrar duma forma q só venha quem NÃO esteja na datatable abaixo, para que o cliente só cadastre na referida turma um aluno que lá naum esteja, num sei se fui claro…
janjan essa solução que passou resolve essa minha dúvida?

Se for necessário tiro um print da minha página pra exemplificar melhor…

cara tu com erteza nao vai precisar criar 2 arraylist
e trabalhar em cima de objetos

dessa forma, usando a consulta pra filtrar isso tu vai conseguir
oque fiz é que nas tuas 2 consultas peguei oque era comum entre elas
oque tu queria de uma e nao queria de outra
tenta rodar pra ver o resultado…
unica forma de ter certeza…
abraços

[quote=janjan]cara tu com erteza nao vai precisar criar 2 arraylist
e trabalhar em cima de objetos

dessa forma, usando a consulta pra filtrar isso tu vai conseguir
oque fiz é que nas tuas 2 consultas peguei oque era comum entre elas
oque tu queria de uma e nao queria de outra
tenta rodar pra ver o resultado…
unica forma de ter certeza…
abraços

[/quote]

janjan essa primeira

lista_sem_aluno_da_turma.add(Restrictions.ne("turma.codigo", codigoTurma));  

me traz os alunos que NÃO estão na referida turma

dai o selectitem traz TODOS os alunos e eu quero SÓ os alunos q NÃO estão na lista acima tipow

Turma: PILATES aluno:Luciano, Sérgio, Pedro

selectItem aluno: Altamir, Riva, Daniel

mas ao invés disso traz: Luciano, Sérgio, Pedro, Altamir, Riva, Daniel

lembrando que isso tudo vem da tabela TURMA_ALUNO por isso vem repetido os alunos…

saka?