Articles of arrays

Agregar datos a arrayList de otra actividad

Tengo una actividad para crear un nuevo elemento para listView. Al hacer clic en el button Guardar de esta actividad, quiero agregar date a arrayList. Este arrayList está en otra actividad y esta actividad tiene un listView y su adaptador obtiene elementos de arrayList Este es mi adaptador: inner class mo3d1Adapter : BaseAdapter { override […]

¿Qué significa Array <T?>

Al convertir un código Java en Kotlin, el public MayData[] getDataArray() { return new MayData[0]; } cambiado a fun getDataArray(): Array<MyData> { return arrayOfNulls<MyData>(0) } pero tengo un error: Error:(50, 16) Type mismatch: infernetworking type is Array<MyData?> but Array<MyData> was expected tiene que agregar el '?' fun getDataArray(): Array<MyData?> { return arrayOfNulls<MyData>(0) } lo que […]

¿Cómo crear una nueva list de anteras en kotlin?

En java podemos crear una nueva list a partir de otra como esta: List<Integer> list1 = new ArrayList<>(); list1.add(1) list1.add(-10) list1.add(12) list1.add(37) List<Integer> list2 = new ArrayList<>(list1); ¿Cómo podemos lograr el mismo resultado que el anterior en kotlin usando listOf () o mutableListOf ()? Gracias

Kotlin y generics, implementando class genérica abstracta con matriz genérica

Tengo la siguiente class abstracta abstract class Vec2t<T : Number>(open var x: T, open var y: T) Implementado por data class Vec2(override var x: Float, override var y: Float) : Vec2t<Float>(x, y) Hasta ahora, todo funciona bien Ahora, me gustaría hacer algo similar para las matrices, esta es en este momento mi class abstracta abstract […]

¿Cuál es la forma canónica de convertir un array <Byte> a un ByteArray

Si tienes una matriz y quieres convertirla en una matriz de bytes, ¿cómo debo hacerlo? Lo siguiente, por ejemplo, falla: var srcArray = Array<Byte>(10, { 0 }) var tgtArray: ByteArray = srcArray as ByteArray Sin embargo, me doy count de que las classs especializadas como ByteArray son: … no relacionado con la class Array y […]

Una buena forma de acceder a palabras mixtas de 8/16/32 bits

Tengo una gran cantidad de datos binarys en la memory y necesito leer / escribir desde direcciones alineadas por byte random. Sin embargo, a veces necesito leer / escribir palabras de 8 bits, a veces (big-endian) palabras de 16 bits, y algunas veces (big-endian) de 32 bits. Existe la ingenua solución de representar los datos […]

Tipos de matriz de Kotlin y literales de class

Estoy tratando de deserializar una matriz de objects JSON con GSON. Entonces la simple llamada: val arrayOfFoo = gson.fromJson(source, Array<Foo<*>>::class.java>) debería hacer el truco. Pero el borrado de tipo nos dice que Foo <*> no existe en time de ejecución, por lo que aparece el error "Solo los literales de class están permitidos en el […]

Función genérica con matriz 2D genérica

¿Cómo se puede implementar una function genérica que crea una matriz bidimensional genérica vacía? En el siguiente ejemplo de código, se crea una matriz 1D vacía y tiene el tipo esperado. Sin embargo, cuando llamo a test2D recibo un error: java.lang.ClassCastException: [[Ljava.lang.Object; cannot be cast to [[Ljava.lang.Integer; inline fun <reified T> make1D(mask: Array<T>) : Array<T> […]

Kotlin String to Int array

Estoy buscando la manera más eficiente de convertir un String como "[1,2,3,4,5]" a una serie de Int [1,2,3,4,5] en Kotlin

Kotlin: crea y refiere matrices de Java verdaderas (para JNA)

Intento usar JNA con Kotlin y me encontré con un problema. Caused by: java.lang.IllegalArgumentException: class [Lcom.sun.jna.platform.win32.WinDef$HMODULE; is not a supported argument type (in method EnumProcessModulesEx in class kotmem.unsafe.Psapi) Mi object Psapi directo: package kotmem.unsafe import com.sun.jna.* import com.sun.jna.platform.win32.* import com.sun.jna.ptr.* object Psapi { // note Array<WinDef.HMODULE?> external fun EnumProcessModulesEx(process: Pointer, modules: Array<WinDef.HMODULE?>, cb: Int, neededModules: […]