Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

242
Visualizações
Convertir lista en matriz en Java

¿Cómo puedo convertir una List en una Array en Java?

Verifique el código a continuación:

 ArrayList<Tienda> tiendas; List<Tienda> tiendasList; tiendas = new ArrayList<Tienda>(); Resources res = this.getBaseContext().getResources(); XMLParser saxparser = new XMLParser(marca,res); tiendasList = saxparser.parse(marca,res); tiendas = tiendasList.toArray(); this.adaptador = new adaptadorMarca(this, R.layout.filamarca, tiendas); setListAdapter(this.adaptador);

Necesito llenar la matriz tiendas con los valores de tiendasList .

over 4 years ago · Santiago Trujillo
3 Respostas
Responde à pergunta

0

O:

 Foo[] array = list.toArray(new Foo[0]);

o:

 Foo[] array = new Foo[list.size()]; list.toArray(array); // fill the array

Tenga en cuenta que esto solo funciona para matrices de tipos de referencia. Para arreglos de tipos primitivos, use la forma tradicional:

 List<Integer> list = ...; int[] array = new int[list.size()]; for(int i = 0; i < list.size(); i++) array[i] = list.get(i);

Actualizar:

Se recomienda ahora usar list.toArray(new Foo[0]); , no list.toArray(new Foo[list.size()]); .

De la inspección de JetBrains Intellij Idea:

Hay dos estilos para convertir una colección en una matriz: ya sea usando una matriz de tamaño predeterminado (como c.toArray(new String[c.size()]) ) o usando una matriz vacía (como c.toArray(new String[ 0]) .

En versiones anteriores de Java, se recomendaba usar una matriz de tamaño predeterminado, ya que la llamada de reflexión necesaria para crear una matriz del tamaño adecuado era bastante lenta. Sin embargo, desde las actualizaciones tardías de OpenJDK 6, esta llamada se ha intrínseco, lo que hace que el rendimiento de la versión de matriz vacía sea el mismo y, a veces, incluso mejor, en comparación con la versión de tamaño predeterminado. Además, pasar una matriz de tamaño predeterminado es peligroso para una colección concurrente o sincronizada, ya que es posible una carrera de datos entre el tamaño y la llamada toArray , lo que puede generar valores nulos adicionales al final de la matriz, si la colección se redujo al mismo tiempo durante la operación.

Esta inspección permite seguir el estilo uniforme: ya sea utilizando una matriz vacía (que se recomienda en Java moderno) o utilizando una matriz de tamaño predeterminado (que podría ser más rápida en versiones anteriores de Java o JVM no basadas en HotSpot).

over 4 years ago · Santiago Trujillo Relatório

0

Una alternativa en Java 8:

 String[] strings = list.stream().toArray(String[]::new);

Desde Java 11:

 String[] strings = list.toArray(String[]::new);
over 4 years ago · Santiago Trujillo Relatório

0

Creo que esta es la forma más sencilla:

 Foo[] array = list.toArray(new Foo[0]);
over 4 years ago · Santiago Trujillo Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda