Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

Сортировка в ArrayList - Программирование Android

Войти
Регистрация
Восстановить пароль
Другие темы раздела
Программирование Android Как восстановить удаленные сообщения Viber? http://www.cyberforum.ru/android-dev/thread1681255.html
Ребята здравствуйте! Срочно нужна помощь! Подскажите плиз, как восстановить удаленные сообщения Viber на телефоне? Знаю что везде пишут-но мы ВСЕ знаем, что любая инфа оставляет хвосты! Прошелся...
Программирование Android Пример AdMob компилируется, но не запускается 1. Взял пример с офиц сайта. (https://github.com/googleads/googleads-mobile-android-examples/tree/master/admob/BannerExample) Запустил. На телефоне работает. 2. Решил проверить и разобраться. Создал... http://www.cyberforum.ru/android-dev/thread1681209.html
Программирование Android Что то вроде Маркера
Здравствуйте. и снова с тупым вопросом. можно ли как то реализовать что то типо как маркер, как в гугл картах. но ставить их не программной а в самом приложение через удержание. подскажите где...
Программирование Android Неправильно составлен конструктор
Ругается что не видит некое число. Кусок взят с примера Также не видит метод add private ArrayAdapter<BluetoothDevice> listAdapter; private ListView discoveredDevices; private void...
Программирование Android Install intel HAXM http://www.cyberforum.ru/android-dev/thread1680772.html
Доброго времени суток господа форумчане . Попробую подробно описать свою ситуацию . Процессор Intel i5 3570k В техническом описании процессора заявлена поддержка Inte vt-x. При попытке установки...
Программирование Android Service fragment broadcast Доброе время суток Задача сделать чат Соединение с сервером происходит в сервисе При реализации возник ряд вопросов 1. Значит отправка из сервиса в активности происходит @Override public... подробнее

Показать сообщение отдельно
Pablito
2476 / 1960 / 611
Регистрация: 12.05.2014
Сообщений: 6,863
Завершенные тесты: 1
10.03.2016, 12:37
для начала я бы вносил стоимость не строкой, а числом, так будет удобнее и быстрее потом сортировать или еще что-то
дальше...даты и время прибытия-отбытия я бы хранил в формате long, из любого объекта типа Date() можно вытянуть время в миллисекундах, очень удобно потом сортировать и выводить на экран в любом удобном формате

я не стал переделывать даты, но стоимость перевел в int
класс ниже как пример, можно было просто написать компаратор и сортировать одной строкой, но мне кажется так будет кошернее )
сам класс TicketObjects
Кликните здесь для просмотра всего текста
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
class TicketObjects {
    private String departCode;
    private String departTime;
    private String departDate;
    private String arriveCode;
    private String arriveTime;
    private String arriveDate;
    private String flyTime;
    private int ticketPrice;
    private int airlineLogo;
 
    public TicketObjects(String departCode, String departTime, String departDate,
                         String arriveCode, String arriveTime, String arriveDate,
                         String flyTime, int ticketPrice, int airlineLogo) {
        this.departCode = departCode;
        this.departTime = departTime;
        this.departDate = departDate;
        this.arriveCode = arriveCode;
        this.arriveTime = arriveTime;
        this.arriveDate = arriveDate;
        this.flyTime = flyTime;
        this.ticketPrice = ticketPrice;
        this.airlineLogo = airlineLogo;
    }
 
    public String getDepartCode() {
        return departCode;
    }
 
    public void setDepartCode(String departCode) {
        this.departCode = departCode;
    }
 
    public String getDepartTime() {
        return departTime;
    }
 
    public void setDepartTime(String departTime) {
        this.departTime = departTime;
    }
 
    public String getDepartDate() {
        return departDate;
    }
 
    public void setDepartDate(String departDate) {
        this.departDate = departDate;
    }
 
    public String getArriveCode() {
        return arriveCode;
    }
 
    public void setArriveCode(String arriveCode) {
        this.arriveCode = arriveCode;
    }
 
    public String getArriveTime() {
        return arriveTime;
    }
 
    public void setArriveTime(String arriveTime) {
        this.arriveTime = arriveTime;
    }
 
    public String getArriveDate() {
        return arriveDate;
    }
 
    public void setArriveDate(String arriveDate) {
        this.arriveDate = arriveDate;
    }
 
    public String getFlyTime() {
        return flyTime;
    }
 
    public void setFlyTime(String flyTime) {
        this.flyTime = flyTime;
    }
 
    public int getTicketPrice() {
        return ticketPrice;
    }
 
    public void setTicketPrice(int ticketPrice) {
        this.ticketPrice = ticketPrice;
    }
 
    public int getAirlineLogo() {
        return airlineLogo;
    }
 
    public void setAirlineLogo(int airlineLogo) {
        this.airlineLogo = airlineLogo;
    }
 
    public static ArrayList<TicketObjects> sortListBy(ArrayList<TicketObjects> list, By by) {
        switch (by) {
            case PRICE:
                Collections.sort(list, byPrice);
                break;
            default:
                break;
        }
        return list;
    }
 
    private static final Comparator<TicketObjects> byPrice = new Comparator<TicketObjects>() {
        @Override
        public int compare(TicketObjects t1, TicketObjects t2) {
            int p1 = t1.getTicketPrice();
            int p2 = t2.getTicketPrice();
            return p1 == p2 ? 0 : p1 > p2 ? 1 : -1;
        }
    };
 
    public enum By {
        PRICE,
    }
}

сортировать так
Java
1
TicketObjects.sortListBy(items, TicketObjects.By.PRICE);
если хранить, как я предложил, даты в long то по примеру можно дописать пару компараторов для сортировки по прибытию-отбытию и добавить значение в enum
1
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru