Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Java Новый топик    Ответить
Топик располагается на нескольких страницах: Ctrl  назад   1 .. 29 30 31 32 33 34 35 36 37 [38]
 Re: Задачка для собеседования : ArrayList vs LinkedList  [new]
Озверин
Member

Откуда: Ростов-на-Дону
Сообщений: 4785
scf
if (x.isPresent() || y.isPresent()) {
            return Optional.of(x.orElse(0) + y.orElse(0));
        } else {
            return Optional.empty();
        }


вроде бы хороший программист, независимо от java и не java - не складывает empty с числом, а если складывает, то получает что-то вроде empty или NaN или что-то вроде того.
5 фев 19, 17:15    [21802089]     Ответить | Цитировать Сообщить модератору
 Re: Задачка для собеседования : ArrayList vs LinkedList  [new]
забыл ник
Member

Откуда:
Сообщений: 2601
Озверин
scf
if (x.isPresent() || y.isPresent()) {
            return Optional.of(x.orElse(0) + y.orElse(0));
        } else {
            return Optional.empty();
        }


вроде бы хороший программист, независимо от java и не java - не складывает empty с числом, а если складывает, то получает что-то вроде empty или NaN или что-то вроде того.

Все зависит от того как вы определяете операцию(алгебраически). Не знаю откуда конкретно этот код, но тут складывается число с числом и в итоге оборачивается в Optional, что так удивило?
5 фев 19, 18:26    [21802144]     Ответить | Цитировать Сообщить модератору
 Re: Задачка для собеседования : ArrayList vs LinkedList  [new]
Озверин
Member

Откуда: Ростов-на-Дону
Сообщений: 4785
забыл ник, в этом коде число может складывать с null.
5 фев 19, 18:29    [21802148]     Ответить | Цитировать Сообщить модератору
 Re: Задачка для собеседования : ArrayList vs LinkedList  [new]
забыл ник
Member

Откуда:
Сообщений: 2601
Озверин
забыл ник, как-то unzip у меня в голове ничем, кроме partitioningBy не укладывается. А по ссылке как-то и не нашел.

По ссылке и правда нет, и меня это тоже очень удивило. В скале уже есть 100 лет как. Концептуально все проще простого. Передаем функцию высшего порядка, которая из одного элемента делает два, а внутри unzip создаем две коллекции, потом тупо итерируем по каждому элементу через map и вызываю функцию высшего порядка и добавляем к каждой коллекции.
5 фев 19, 18:32    [21802151]     Ответить | Цитировать Сообщить модератору
 Re: Задачка для собеседования : ArrayList vs LinkedList  [new]
забыл ник
Member

Откуда:
Сообщений: 2601
Озверин
забыл ник, в этом коде число может складывать с null.

Каким образом? orlEse(0) вернет 0, если вдруг элемента нет
5 фев 19, 18:34    [21802154]     Ответить | Цитировать Сообщить модератору
 Re: Задачка для собеседования : ArrayList vs LinkedList  [new]
Озверин
Member

Откуда: Ростов-на-Дону
Сообщений: 4785
забыл ник
Озверин
забыл ник, в этом коде число может складывать с null.

Каким образом? orlEse(0) вернет 0, если вдруг элемента нет


так в этом и подвох. null+4 не должно быть одним и тем же с 0+4.
5 фев 19, 18:37    [21802157]     Ответить | Цитировать Сообщить модератору
 Re: Задачка для собеседования : ArrayList vs LinkedList  [new]
Озверин
Member

Откуда: Ростов-на-Дону
Сообщений: 4785
забыл ник
Озверин
забыл ник, как-то unzip у меня в голове ничем, кроме partitioningBy не укладывается. А по ссылке как-то и не нашел.

По ссылке и правда нет, и меня это тоже очень удивило. В скале уже есть 100 лет как. Концептуально все проще простого. Передаем функцию высшего порядка, которая из одного элемента делает два, а внутри unzip создаем две коллекции, потом тупо итерируем по каждому элементу через map и вызываю функцию высшего порядка и добавляем к каждой коллекции.


Я понимаю, что это декларативный путь и в таком случае не принято смотреть в код, но

https://google.github.io/guava/releases/21.0/api/docs/src-html/com/google/common/collect/Streams.html#line.360

господи, какой же ад.
5 фев 19, 18:40    [21802161]     Ответить | Цитировать Сообщить модератору
 Re: Задачка для собеседования : ArrayList vs LinkedList  [new]
забыл ник
Member

Откуда:
Сообщений: 2601
Озверин
забыл ник
пропущено...

Каким образом? orlEse(0) вернет 0, если вдруг элемента нет


так в этом и подвох. null+4 не должно быть одним и тем же с 0+4.


Нет никакого подвоха, я же говорю все зависит от того как вы определяете операцию.

семантика zip - объединить коллекции, если с одной стороны элемента нет, то завершаем
семантика zipLeft - объединить коллекции, если с правой стороны элемента нет, то взять элемент слева
семантика zipRight - объединить коллекции, если с левой стороны элемента нет, то взять только элемент справа

Это устоявшаяся семантика.
Соглашусь что код плохой, но немного по-другим причинам. Откуда он?
5 фев 19, 18:52    [21802170]     Ответить | Цитировать Сообщить модератору
 Re: Задачка для собеседования : ArrayList vs LinkedList  [new]
забыл ник
Member

Откуда:
Сообщений: 2601
Озверин
забыл ник
пропущено...

По ссылке и правда нет, и меня это тоже очень удивило. В скале уже есть 100 лет как. Концептуально все проще простого. Передаем функцию высшего порядка, которая из одного элемента делает два, а внутри unzip создаем две коллекции, потом тупо итерируем по каждому элементу через map и вызываю функцию высшего порядка и добавляем к каждой коллекции.


Я понимаю, что это декларативный путь и в таком случае не принято смотреть в код, но

https://google.github.io/guava/releases/21.0/api/docs/src-html/com/google/common/collect/Streams.html#line.360

господи, какой же ад.

Ну так да, это же Java. Чтобы сделать простой таск, надо создать 100500 абстракций Factory\Builder\Support.
5 фев 19, 18:58    [21802172]     Ответить | Цитировать Сообщить модератору
 Re: Задачка для собеседования : ArrayList vs LinkedList  [new]
Озверин
Member

Откуда: Ростов-на-Дону
Сообщений: 4785
забыл ник
Озверин
пропущено...


так в этом и подвох. null+4 не должно быть одним и тем же с 0+4.


Нет никакого подвоха, я же говорю все зависит от того как вы определяете операцию.

семантика zip - объединить коллекции, если с одной стороны элемента нет, то завершаем
семантика zipLeft - объединить коллекции, если с правой стороны элемента нет, то взять элемент слева
семантика zipRight - объединить коллекции, если с левой стороны элемента нет, то взять только элемент справа

Это устоявшаяся семантика.
Соглашусь что код плохой, но немного по-другим причинам. Откуда он?


этот код страницей раньше был - обсуждали какую-то задачу.
Ну в моем случае я редко когда помню, что хотел бы под null понимать 0.
5 фев 19, 19:49    [21802185]     Ответить | Цитировать Сообщить модератору
 Re: Задачка для собеседования : ArrayList vs LinkedList  [new]
Atum1
Member

Откуда: СПБ
Сообщений: 1834
забыл ник
В общем-то элементарная задачка на zip/Unzip, сто лет в обед решенная

https://google.github.io/guava/releases/21.0/api/docs/com/google/common/collect/Streams.html#zip-java.util.stream.Stream-java.util.stream.Stream-java.util.function.BiFunction-


На чистой java 8(9,10,11)


ибо в flatmap из react есть всякие merge

Хочется код на java

:)
5 фев 19, 19:49    [21802186]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: Ctrl  назад   1 .. 29 30 31 32 33 34 35 36 37 [38]
Все форумы / Java Ответить