get () de una lista, pero pasando como argumento en Java [duplicado]

Nov 18 2020

Estoy tratando de obtener un elemento de una lista List<Class> listofitemsy tengo una variable global positionde tipo long. Me gustaría realizarlo listofitems.get(position)pero no me permite hacerlo ya que gettoma intcomo argumento. Si quiero mantener el tipo de positioncomo long, ¿hay alguna otra forma de hacerlo? (alguna otra forma además de enviar positiona int)?

Respuestas

EricLang Nov 18 2020 at 03:18

Si quisiera hacer esto, tendría que construir una clase que contenga una agrupación de listas para representar sus datos. Puede escribir su propio método de acceso que divida su largo en ints más pequeños, para acceder a la posición correcta en su lista.

Vea esta respuesta: Uso de un índice largo como ArrayList en java

D.Sikilai Nov 18 2020 at 03:38

Este es un punto donde la memoria debe consultarse a través de la Unsafeapi. En caso de listas / matrices mayores que Integer.MAX_VALUE aquí, está el enlace.
NOTA:

  • Escriba su propia implementación de la lista / matriz.
  • Unsafe es literalmente inseguro.
  • Tal implementación requeriría índices largos.
  • La velocidad será abundante.
  • LouisWasserman Nov 18 2020 at 03:42

    Si lo que tiene es un List<Class>, y no se puede cambiar a otro tipo, entonces no hay nada que pueda hacer además de convertirlo longen un int. No hay forma de tomar un arbitrario Listy llamar getcon nada más que un int.