Re:copiar collection para outra!

uma maneira bem feia seria criar um for e percorrer as duas collections, inserindo em uma terceira as outras duas :wink:

Collection um = /* collection preenchida
Iterator iUm = um.Iterator();
Collection dois = /* collection preenchida
Iterator iDois = dois.Iterator();
Collection temp = /* onde vão ficar as duas


for( int i=0; i<um.size; i++) {
  temp.add( um.iterator().next() );

for( int i=0; i<um.size; i++) {
  temp.add( dois.iterator().next() );
  
/* aqui temp possui todos os dados de 'um' e 'dois'

foi só um esboço, qualquer dúvida poste aqui :wink:

Collection c = null ;

é porque vc colocou c como sendo null, troca essa linha por:

ArrayList c = new ArrayList();

Collection foo; //Collection onde estão alguns dados
Collection bar; //Collection onde estão outros dados
Collection xpto; // Collection que vai armazenar os dados das outras duas
//...
//popula as duas primeiras Collections
//...
xpto.addAll( foo );
xpto.addAll( bar );
  • Gente eu tenho duas colecoes que recebem um gama de dados !!!
colecao_Vagas = Fachada.getInstancia().consultarVagaConcurso(new  FiltroVagaConcurso()) ;//Retorno do tipo Collection	
colecao_Cargo = Fachada.getInstancia().consultarCargo(new FiltroCargo());//Retorno do Tipo Collection
  • Eu gostaria de saber como eu faço para adicionar(colecao_Vagas , colecao_Cargo) em um unica collection ?

  • A quem ajudar agradeço !

Como eu faço isso !? :shock:

import java.sql.SQLException;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Iterator;

public class Teste {

	public static Collection adicionarColecao(Collection colecao)throws SQLException {
        
 	   Collection c = null  ;
        
 	   for( int i=0; i &lt; colecao.size(); i++) {
 		   c.add( colecao.iterator().next() );
 	   }	 
 	   
 	    return c ;
 }
	
	
	public static void main(String[] args) {
	    
		Collection c = null;
		
		ArrayList a1 = new ArrayList();
		a1.add(&quot;1&quot;);
		a1.add(&quot;2&quot;);
		a1.add(&quot;3&quot;);
        
		try {
			c = Teste.adicionarColecao(a1);
		} catch (SQLException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		
		
		ArrayList a2 = new ArrayList();
		a1.add(&quot;4&quot;);
		a1.add(&quot;5&quot;);
		a1.add(&quot;6&quot;);
		
		try {
			c = Teste.adicionarColecao(a2);
		} catch (SQLException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		
		
		Iterator it = c.iterator();
	     
		while(it.hasNext()){
			System.out.println(it.hasNext());
		}
		
	
				
        
	}

}

To tentando fazer este exemplo e esta dando erro aqui --> "c.add( colecao.iterator().next() );"