Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

368
Vistas
Java: ¿la forma más fácil de obtener una propiedad única de cada objeto en una lista/matriz?

Digamos que tengo un objeto de persona con propiedades como name , color de hair color y eye color . Tengo la siguiente matriz Person[] people que contiene instancias de objetos person.

Sé que puedo obtener la propiedad de name de uno de los objetos Person con

 // create a new instance of Person Person george = new Person('george','brown','blue'); // <<< make a people array that contains the george instance here... >>> // access the name property String georgesName = people[0].name;

Pero, ¿qué pasa si quiero acceder a la propiedad de name de todos sin usar índices? Por ejemplo, ¿para crear una matriz o una lista de solo nombres o colores de cabello? ¿Tengo que iterar manualmente a través de mi matriz de people ? ¿O hay algo interesante en Java como String[] peopleNames = people.name ?

about 4 years ago · Santiago Trujillo
3 Respuestas
Responde la pregunta

0

Dos opciones:

  1. Iteración
  2. Flujos ( Java 8 )

Iteración

 List<String> names = new ArrayList<>(); for (Person p : people) { names.add(p.name); }

Corrientes

 String[] names = Arrays.stream(people).map(p -> p.name).toArray(size -> new String[people.length]);
about 4 years ago · Santiago Trujillo Denunciar

0

java 8:

 String[] names = Arrays.asStream(people).map(Person::getName).asArray(String[]::new);
about 4 years ago · Santiago Trujillo Denunciar

0

Está buscando una característica funcional en un lenguaje Java inicialmente solo imperativo. Como ya se mencionó en otras respuestas, desde Java 8, también tiene elementos funcionales (por ejemplo, transmisiones). Sin embargo, todavía no se recomienda su uso. Esta publicación de blog explica las desventajas de los flujos sobre los bucles (es decir, rendimiento, legibilidad, mantenibilidad).

Si está buscando un código funcional y seguro sin implicaciones tan importantes, pruebe Scala:

 case class Person(name: String) val persons = Array(Person("george"), Person("michael"), Person("dexter")) val personNames = persons.map(_.name)

La principal diferencia es que este código Scala es fácil de leer y tiene un rendimiento comparable al de un código Java que usa un bucle porque el código traducido de Scala a Java usa un bucle while internamente.

about 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda