Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Java [игнор отключен] [закрыт для гостей] / Опрос: как определить последний элемент в последовательности / 11 сообщений из 11, страница 1 из 1
26.10.2007, 16:59:32
    #34898204
aJavaDeveloper
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Опрос: как определить последний элемент в последовательности
Не нашел среди DatatypeConstants как можно определить
последний элемент последовательности.
Т. е., положим, есть List<SomeObjects> - список неких объектов.
Из этого списка надо выбрать элементы, скажем, с указанными номерами:
Set< Numbers > == (FIRST, 5,3, LAST ) - т.е. 1й, 5й, 3й и последний ...
Ну вот нету среди стандартных классов понятия порядкового числительного (FIRST,LAST),
единственное, что приходит в голову:
Numbers == Integer , FIRST == 1, LAST == -1.
- Но это решение не нравится: hard-coding - придется везде писать, что -1 - есть ласт элемент.

А вы как бы решили эту проблему?
...
Рейтинг: 0 / 0
26.10.2007, 17:25:37
    #34898324
Leonidv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Опрос: как определить последний элемент в последовательности
FIRST is 0
LAST is List.size-1
...
Рейтинг: 0 / 0
26.10.2007, 17:33:56
    #34898357
aJavaDeveloper
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Опрос: как определить последний элемент в последовательности
э-э-э... Предполагается необходимость реализации такого метода:

Set<SomeObjects> getChosenObjects(List<SomeObjects> listToChooseFrom, Set< Numbers > chosenNumbers);


причем chosenNumbers и listToChooseFrom формируются независимо,
т.е. List.size()-1 - не затолкать в chosenNumbers.

Поактивнее! Опрос продолжается! :-)
...
Рейтинг: 0 / 0
26.10.2007, 17:46:40
    #34898390
Изя Шниперсон
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Опрос: как определить последний элемент в последовательности
aJavaDeveloperНе нашел среди DatatypeConstants как можно определить
последний элемент последовательности.
Т. е., положим, есть List<SomeObjects> - список неких объектов.
Из этого списка надо выбрать элементы, скажем, с указанными номерами:
Set< Numbers > == (FIRST, 5,3, LAST ) - т.е. 1й, 5й, 3й и последний ...
Ну вот нету среди стандартных классов понятия порядкового числительного (FIRST,LAST),
единственное, что приходит в голову:
Numbers == Integer , FIRST == 1, LAST == -1.
- Но это решение не нравится: hard-coding - придется везде писать, что -1 - есть ласт элемент.

А вы как бы решили эту проблему?

Вроде у Set порядок хранения нельзя изменить (для HashSet),
Если взять и напечатать содержание Set
Код: plaintext
1.
2.
3.
  Set set =  new  HashSet();
  set.put(......);
  System.out.println(set);
То элементы напечатаются отсортированными взависимости от того как был реализован compareTo интерфейса Comparable и был ли он вообще реализован.
...
Рейтинг: 0 / 0
26.10.2007, 17:50:39
    #34898402
Изя Шниперсон
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Опрос: как определить последний элемент в последовательности
aJavaDeveloper
Ну вот нету среди стандартных классов понятия порядкового числительного (FIRST,LAST),
единственное, что приходит в голову:
Numbers == Integer , FIRST == 1, LAST == -1.
- Но это решение не нравится: hard-coding - придется везде писать, что -1 - есть ласт элемент.

А вы как бы решили эту проблему?

Реализуй в своем классе интерфейс Comparable - сравнение элементов и помещай в контейнер элементы своего класса, тогда они будут возвращаться отсортированными из контейнера.
...
Рейтинг: 0 / 0
26.10.2007, 18:06:38
    #34898447
vas0
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Опрос: как определить последний элемент в последовательности
aJavaDeveloperНу вот нету среди стандартных классов понятия порядкового числительного (FIRST,LAST),
единственное, что приходит в голову:
Numbers == Integer , FIRST == 1, LAST == -1.
- Но это решение не нравится: hard-coding - придется везде писать, что -1 - есть ласт элемент.

А вы как бы решили эту проблему? Извращаться так уж по крупному:
Код: plaintext
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.
 public   class  Index {

     private   final   int  index;

    Index( int  index) {
         this .index = index;
    }

     public  Object getElement(List list) {
         return  list.get(index);
    }

    /**
     * Factory methods
     */
     public   static  Index valueOf( int  index) {
         return   new  Index(index);
    }

     public   static  Index first() {
         return   new  Index( 0 );
    }

     public   static  Index last() {
         return   new  Index(- 1 ) {
             public  Object getElement(List list) {
                 return  list.get(list.size() -  1 );
            }
        };
    }
}
...
Рейтинг: 0 / 0
26.10.2007, 18:10:24
    #34898460
am_sasa
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Опрос: как определить последний элемент в последовательности
vas0Извращаться так уж по крупному:
мусье знает толк в извращениях!!!
+1
...
Рейтинг: 0 / 0
27.10.2007, 23:42:35
    #34899488
roman danilin
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Опрос: как определить последний элемент в последовательности
Изя Шниперсон aJavaDeveloperНе нашел среди DatatypeConstants как можно определить
последний элемент последовательности.
Т. е., положим, есть List<SomeObjects> - список неких объектов.
Из этого списка надо выбрать элементы, скажем, с указанными номерами:
Set< Numbers > == (FIRST, 5,3, LAST ) - т.е. 1й, 5й, 3й и последний ...
Ну вот нету среди стандартных классов понятия порядкового числительного (FIRST,LAST),
единственное, что приходит в голову:
Numbers == Integer , FIRST == 1, LAST == -1.
- Но это решение не нравится: hard-coding - придется везде писать, что -1 - есть ласт элемент.

А вы как бы решили эту проблему?

Вроде у Set порядок хранения нельзя изменить (для HashSet),
Если взять и напечатать содержание Set
Код: plaintext
1.
2.
3.
  Set set =  new  HashSet();
  set.put(......);
  System.out.println(set);
То элементы напечатаются отсортированными взависимости от того как был реализован compareTo интерфейса Comparable и был ли он вообще реализован.

Порядок элементов в контейнере HashSet зависит от функции hashCode() хранимых объектов.

Интерфейс Comparable используется для хранимых объектов в контейнере TreeSet.
...
Рейтинг: 0 / 0
27.10.2007, 23:49:53
    #34899495
roman danilin
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Опрос: как определить последний элемент в последовательности
roman danilin
Порядок элементов в контейнере HashSet зависит от функции hashCode() хранимых объектов.


Ошибся, читать - контейнер HashSet использует ф-ю hashCode() для хранения элементов.
Порядок элементов в контейнере не регламентирован.
...
Рейтинг: 0 / 0
28.10.2007, 14:35:11
    #34899857
Софтверный проктолог
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Опрос: как определить последний элемент в последовательности
LinkedHashSet спасет отца русской демократии.
...
Рейтинг: 0 / 0
29.10.2007, 17:31:33
    #34902571
Изя Шниперсон
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Опрос: как определить последний элемент в последовательности
roman danilin roman danilin
Порядок элементов в контейнере HashSet зависит от функции hashCode() хранимых объектов.


Ошибся, читать - контейнер HashSet использует ф-ю hashCode() для хранения элементов.
Порядок элементов в контейнере не регламентирован.
Порядок хранения не регламентирован, но при распечатке контейнера они ведь извлекаются и печатаются в каком-то порядке. Как раз и предлагают реализовать интерфейс определения сортировки Comparable чтоб порядок извлечения был самостоятельно определен.
...
Рейтинг: 0 / 0
Форумы / Java [игнор отключен] [закрыт для гостей] / Опрос: как определить последний элемент в последовательности / 11 сообщений из 11, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]