Структура данных для 2-х разных типов
Структура данных для 2-х разных типов
Добрый вечер. Подскажите пожалуйста, в каком виде лучше хранить (и передавать внутри программы) взаимосвязанные данные двух разных типов (например, String & Boolean)? Поначалу думал сделать класс обертку и просто запихнуть в тот-же ArrayList, но тогда не будет возможности сортировать их . Поиск по просторам гугла не оправдал ожидания. Неужели придется заниматься велосипедостроением?
- Mikhail_dev
- Сообщения: 2386
- Зарегистрирован: 09 янв 2012, 14:45
- Откуда: Самара
Re: Структура данных для 2-х разных типов
Передавать как Parcelable объект. Либо как Serializable, но первый быстрее
Re: Структура данных для 2-х разных типов
Наверное я не совсем правильно задал вопрос, я имел ввиду массив таких (String & Boolean) данных. И, даже если использовать Parcelable или Serializable, то все-равно не вижу как это поможет с проблемами сортировки. Грубо говоря нужен List, где в каждой ячейке будет String + Boolean, с возможностью сортировки по String. Как-то так...
Re: Структура данных для 2-х разных типов
а по твоему какие типы данных хранятся в List?
R.id.team
NullPointerException - что делать???
viewtopic.php?f=33&t=3899&p=28952#p28952
Где моя ошибка?
viewtopic.php?f=60&t=3198
NullPointerException - что делать???
viewtopic.php?f=33&t=3899&p=28952#p28952
Где моя ошибка?
viewtopic.php?f=60&t=3198
- Mikhail_dev
- Сообщения: 2386
- Зарегистрирован: 09 янв 2012, 14:45
- Откуда: Самара
Re: Структура данных для 2-х разных типов
Что значит "где в каждой ячейке будет String + Boolean" ??? Это два значения, и они не могут быть в одной ячейке. Они могут быть объектом, в который входит String и Boolean, но никак не как два значения в одной ячейке.
Добавляйте в List объекты, пишите свой сортировщик объектов (читать про Comparable, либо Comparator)
Добавляйте в List объекты, пишите свой сортировщик объектов (читать про Comparable, либо Comparator)
Re: Структура данных для 2-х разных типов
По моему в List хранятся либо Object, либо экземпляры того класса, который указан при создании ArrayList (или ему подобных) и его наследники, как-то так. Я же хотел что-то подобное на Map, но ближе к List, вот какой ужас я придумал .
To Mikhail_dev, спасибо. Как раз наткнулся на книгу Блоха, после чего понял, что несу бред и Oracle все предусмотрело, просто нужно сделать класс-обертку с реализованным компаратором. Вы меня немного опередили
To Mikhail_dev, спасибо. Как раз наткнулся на книгу Блоха, после чего понял, что несу бред и Oracle все предусмотрело, просто нужно сделать класс-обертку с реализованным компаратором. Вы меня немного опередили
- Mikhail_dev
- Сообщения: 2386
- Зарегистрирован: 09 янв 2012, 14:45
- Откуда: Самара
Re: Структура данных для 2-х разных типов
В List хранится то, что вы туда положитеПо моему в List хранятся либо Object, либо экземпляры того класса, который указан при создании ArrayList (или ему подобных) и его наследники, как-то так.
List<YourObjectWithTwoFields> myList = new ArrayList<YourObjectWithTwoFields>();
В классе YourObjectWithTwoFields реализуйте интерфейс Comparable
дальше используйте статический метод сортировки коллекций
Collections.sort(myList );
и всё, коллекция отсортирована по тем правилам, по которым вы зададите, реализовав интерфейс Comparable
Re: Структура данных для 2-х разных типов
Спасибо, я примерно так и думал делать.