Re:duvida desmpenho em colecao?

Na verdade, objetos sincronizados sempre sao mais lentos do que objetos nao-sincronizados, para garantir que diferentes threads nao acessem o mesmo objeto/metodo/bloco de codigo simultaneamente.
Portanto, a menos que vc esteja pensando em criar um ambiente multithread ou alterar os valores da colecao, nao vale à pena retornar uma colecao sincronizada. :!:

            Primeiro exemplo : Onde eu retorno a colecao normal.
public Collection consultar(FiltroCargo pFiltroCargo) throws SQLException {
			ArrayList colecao = new ArrayList();

			rs = prepStatment.executeQuery();

			while (rs.next()) 
			{
				
				vo = new VOCliente();
				vo.setNomw(rs.getInt("NUM") );
				vo.setDesc( rs.getString("DESc") );
                                colecao.add(vo);
			
			}

		}  catch (SQLException e) {
			 
		    	throw new SQLException(e.getMessage());
		 
		}
 		          return colecao;
}//fim do metodo consultar
   Segundo Exemplo : Onde eu retorno a coleção sincornizada
public Collection consultar(FiltroCargo pFiltroCargo) throws SQLException {
			ArrayList colecao = new ArrayList();

			rs = prepStatment.executeQuery();

			while (rs.next()) 
			{
				
				vo = new VOCliente();
				vo.setNomw(rs.getInt("NUM") );
				vo.setDesc( rs.getString("DESc") );
                                colecao.add(vo);
			
			}

		}  catch (SQLException e) {
			 
		    	throw new SQLException(e.getMessage());
		 
		}
 		          return Collections.synchronizedCollection(colecao);
}//fim do metodo consultar

Sera que eu ganho mas desempenho quanto a velocidade se eu retorna a colecao sincronizada !?

Agradeço a quem ajudar !!