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

396
Visualizações
¿Por qué está protegido removeRange (int fromIndex, int toIndex) en Java Vector?

¿Alguien puede arrojar algo de luz sobre por qué está removeRange(int fromIndex, int toIndex) en Java Vector?

Sintaxis - protected synchronized void removeRange(int fromIndex, int toIndex)

Estudié algunos blogs e hice algunos códigos para entender, pero las cosas no están muy claras aquí. Miré dentro de Vector.java y traté de crear algo de comprensión también. Pero mi percepción general es que removeRange(int fromIndex, int toIndex) eventualmente se eliminará.

Sentí que sublist(int fromIndex, int toIndex).clear() es capaz de hacer el mismo trabajo. Y parece más apto desde el punto de vista de implementación y usabilidad.

Por favor, ayuda a entender si tienes una idea mejor.

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

0

Está allí porque se hereda de AbstractList.removeRange . La intención de exponerlo en esta clase base abstracta está documentada como habilitar subclases para mejorar el rendimiento de clear() :

Este método es llamado por la operación de borrado en esta lista y sus subListas. Anular este método para aprovechar los aspectos internos de la implementación de la lista puede mejorar sustancialmente el rendimiento de la operación de borrado en esta lista y sus sublistas.

Es muy poco probable que este método se elimine alguna vez, ya que sería un problema de compatibilidad importante.

Pero tiene razón en que, como usuario de esta clase, debe ceñirse a la interfaz pública, los métodos protegidos son principalmente útiles para implementar subclases.


Entonces, ¿por qué no se hace público el método?

Los JavaDocs para List.subList nos dicen

Este método elimina la necesidad de operaciones de rango explícitas (del tipo que comúnmente existen para matrices). Cualquier operación que espere una lista se puede usar como una operación de rango al pasar una vista de subLista en lugar de una lista completa. Por ejemplo, el siguiente modismo elimina un rango de elementos de una lista:

 list.subList(from, to).clear();

Por lo tanto, no incluir operaciones de rango en la interfaz pública fue una elección de diseño deliberada. En cualquier implementación de List , estas operaciones se pueden realizar invocando operaciones en vistas de sublista.

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