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

339
Views
¿Cuál es el propósito de un Stream.Builder en Java?

Para decirlo de otra manera, ¿qué gano al usar Stream.Builder.add() para agregar elementos al generador y luego usar Stream.Builder.build() , en lugar de agregar los elementos en una colección o matriz y crear una secuencia a partir de eso? ?

Supongo que hay un beneficio en algún lugar en algunas circunstancias, pero no es obvio para mí...

over 4 years ago · Santiago Trujillo
2 answers
Answer question

0

Suponiendo que la máquina tiene suficiente memoria, el uso de Stream.Builder permite agregarle más elementos que Integer.MAX_VALUE .

Internamente, Stream.Builder usa un SpinedBuffer , que es una clase no pública.

De los documentos de SpinedBuffer :

Una colección ordenada de elementos. Los elementos se pueden agregar, pero no eliminar. Pasa por una fase de construcción, durante la cual se pueden agregar elementos, y una fase transversal, durante la cual los elementos se pueden atravesar en orden pero no es posible realizar más modificaciones.

Se utilizan una o más matrices para almacenar elementos. El uso de varias matrices tiene mejores características de rendimiento que una sola matriz utilizada por ArrayList , ya que cuando es necesario aumentar la capacidad de la lista, no es necesario copiar los elementos. Esto suele ser beneficioso en el caso en que los resultados se recorrerán un pequeño número de veces.

Por lo tanto, también evita el cambio de tamaño de ArrayList .

over 4 years ago · Santiago Trujillo Report

0

Tiene una estructura de datos interna muy interesante que está altamente optimizada para inserciones, sin posibilidad de remoción o acceso aleatorio.

Su array y/o Collection pagan un precio adicional por todas las demás funciones que admiten.

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!