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

346
Visualizações
¿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 Respostas
Responde à pergunta

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 Relatório

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 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