Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

240
Views
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 answers
Answer question

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 Report

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 Report

0

Creo que esta es la forma más sencilla:

 Foo[] array = list.toArray(new Foo[0]);
over 4 years ago · Santiago Trujillo Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!