Произвольный тип данных

Мне нужно работать в программе с типом данных, который имеет разнотипные поля. На Андроид кроме класса я ничего не нашёл, но класс занимает в памяти много(!) места. Может есть другие варианты?

Подскажите пожалуйста.

А что за поля?

Наверно в виде массива будет меньше памяти занимать. То есть какой-нибудь список из 100500 не объектов класса, а массивов, каждая ячейка массива соответствует какому-то полю. Если поля разных типов, то сделать массива типа Object и при доставании кастовать к нужному типу (только надо помнить про boxing/unboxing).

1 лайк

Благодарю за хороший совет!:+1:

Я уже сделал при помощи массивов (список и матриц), однако такой программный код выглядит “изуверски” - тяжело будет потом читать. Жаль, что нельзя как в paskal’е создать свой тип данных, без объявления классов, которые занимают место в памяти больше чем надо (при большом кол-ве данных это даёт о себе знать).:disappointed_relieved:

Ну можно же создать абстракции вокруг чего угодно, например, просто функции для доставания/изменения полей массива, создания нового (как конструктор в классах).

В JDK 14 добавили record, но не знаю меньше ли он памяти.

1 лайк

Я работаю в Java n-ide, там, к сожалению, record’а нет.

Разве это не от JDK зависит? :thinking:

Java n-ide работает на андроиде. Разве там можно обновлять JDK? Если да то как?

Так ведь нельзя же писать программы на Java, не имея установленного в системе JDK :thinking: А без JRE эти программы вообще не запустишь. Будь то андройд или любая другая ОС.
Хотя, может, в вашей среде разработки JDK уже вшито :thinking: Такое, наверное, тоже бывает :man_shrugging:

Обновление JDK в Play Market’е и интернете я не нашёл.

А изначально откуда ставилось?

Это ж Андроид, там своя Джава. Она вроде бы обычно на пару лет отстает.

И другую нельзя поставить? Странный этот андройд какой-то.

Я только Java n-ide устанавливал из Play Market’а