Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Java Новый топик    Ответить
 Дурацкие вопросы по java  [new]
Мозговой_слизень
Member

Откуда:
Сообщений: 3008
        Stream<String> stream1 = Stream.of("String 1", "String 11", "String 22", "String 333", "String 4444", "String 55555");
        Stream<Integer> stream2 = stream1.map(String::length);
        // interface Function<T,R>
        // {
        // R apply(T t)
        //}

        //Stream<String> to IntStream
        Stream<String> stream3 = Stream.of("String 1", "String 11", "String 22", "String 333", "String 4444", "String 55555");
        IntStream intStream = stream3.mapToInt(x->x.length());
        // interface ToIntFunction<T>
        //{
            // int applyAsInt(T value)
        //}


Кто знает что это?
12 май 19, 00:11    [21882603]     Ответить | Цитировать Сообщить модератору
 Re: Дурацкие вопросы по java  [new]
alex55555
Member

Откуда:
Сообщений: 2129
Мозговой_слизень
Кто знает что это?

Это код.
12 май 19, 12:40    [21882711]     Ответить | Цитировать Сообщить модератору
 Re: Дурацкие вопросы по java  [new]
mayton
Member

Откуда: loopback
Сообщений: 41377
Он спрашивает разницу между map и mapToInt.

Наверное.
12 май 19, 13:13    [21882721]     Ответить | Цитировать Сообщить модератору
 Re: Дурацкие вопросы по java  [new]
Мозговой_слизень
Member

Откуда:
Сообщений: 3008
что значит
String::length

и
x->x.length()

?
12 май 19, 16:48    [21882806]     Ответить | Цитировать Сообщить модератору
 Re: Дурацкие вопросы по java  [new]
Герой дня
Member

Откуда: obmanula.ru
Сообщений: 30535
Мозговой_слизень
что значит
String::length


и
x->x.length()


?


String::length - внутри stream() можно писать коротко, типа:

new ArrayList<String>().stream().map(String::length).filter(x -> x >= 5).collect(.......)

тут new ArrayList<String>() пустой чисто для примера, так в реальности он содержит массив строк, и, соотвественно, к каждой строке будет применяться метод

строка.length() - получить длину и записать ее в новый числовой массив, который будет дальше обрабатываться в потоке

.filter(x -> x >= 5)

и так далее
12 май 19, 17:39    [21882827]     Ответить | Цитировать Сообщить модератору
 Re: Дурацкие вопросы по java  [new]
Мозговой_слизень
Member

Откуда:
Сообщений: 3008
Герой дня,

круто, неплохое объяснение. А что такое interface Function<T,R>?
12 май 19, 19:09    [21882863]     Ответить | Цитировать Сообщить модератору
 Re: Дурацкие вопросы по java  [new]
asv79
Member

Откуда: Тверь
Сообщений: 1556
Мозговой_слизень
Герой дня,

круто, неплохое объяснение. А что такое interface Function<T,R>?

функциональный интерфейс,очень крутая штука ,с ее помощью к примеру можно передавать в методы в качестве параметров другие методы
12 май 19, 21:18    [21882898]     Ответить | Цитировать Сообщить модератору
 Re: Дурацкие вопросы по java  [new]
Мозговой_слизень
Member

Откуда:
Сообщений: 3008
Не кажется ли вам несправедливостью, что нужно знать названия функциональных интерфейсов и его метода, используя только тип "входящих" и "исходящих" данных и название промежуточной операции (filter), например так:

        List<Integer> str = Arrays.asList(1,2,3,4);
        str.stream().filter(x->x>5).forEach(System.out::print);
                //public interface Predicate<T>
                //{
                //boolean test(t value)
                //}

В фильтре использовался Predicate, но это нигде не написано, особенно без IDEA не понятно. Задача лямбд была в том, чтобы улучшить читаемость кода, но это получилось сделать ценой его усложнения. Получается, стало красивей, но тяжелей для понимания. И "порог вхождения" еще уменьшился. В 11-ой джаве уже можно типы данных в ссылках не писать. Но, чую я, там тоже будет много нюансов. То есть декларируемое упрощение языка на самом деле его усложнение.
13 май 19, 03:02    [21882943]     Ответить | Цитировать Сообщить модератору
 Re: Дурацкие вопросы по java  [new]
andreykaT
Member

Откуда:
Сообщений: 2246
Ежу ясно что фильтр это предикат. А если не ясно наведи мышь на метод и подожди подсказки.

Это упрощение кода. Но для тех кто в теме
13 май 19, 08:55    [21882994]     Ответить | Цитировать Сообщить модератору
 Re: Дурацкие вопросы по java  [new]
Мозговой_слизень
Member

Откуда:
Сообщений: 3008
andreykaT
Ежу ясно что фильтр это предикат. А если не ясно наведи мышь на метод и подожди подсказки.

Это упрощение кода. Но для тех кто в теме


Для тех что в танке, с BiFunction ты тоже будешь дружить как ежик? Ты когда на собеседование приходишь, в голове тоже на метод наводишь и у тебя всегда подсказка вылезает? И названия методов тоже помнишь и возвращаемый результат?
13 май 19, 10:55    [21883108]     Ответить | Цитировать Сообщить модератору
 Re: Дурацкие вопросы по java  [new]
mayton
Member

Откуда: loopback
Сообщений: 41377
Мозговой_слизень
andreykaT
Ежу ясно что фильтр это предикат. А если не ясно наведи мышь на метод и подожди подсказки.

Это упрощение кода. Но для тех кто в теме


Для тех что в танке, с BiFunction ты тоже будешь дружить как ежик? Ты когда на собеседование приходишь, в голове тоже на метод наводишь и у тебя всегда подсказка вылезает? И названия методов тоже помнишь и возвращаемый результат?

Дружище. Такова судьба разработчика. Ты должен хорошо знать language и как минимум помнить
хотя-бы приблизительно JDK.

Этих интерфейсов не очень много.

https://docs.oracle.com/javase/8/docs/api/java/util/function/package-summary.html

Кроме того если ты читал Хорстмана по восьмёрке то он описывает их классификацию. Там есть вариативный
префикс который определяет например примитивный тип данных.

И выучить функциональные интерфейсы гораздо легче чем скажем поведение аннотаций JPA или Хибернейт.
13 май 19, 11:01    [21883114]     Ответить | Цитировать Сообщить модератору
 Re: Дурацкие вопросы по java  [new]
Мозговой_слизень
Member

Откуда:
Сообщений: 3008
mayton
Мозговой_слизень
пропущено...


Для тех что в танке, с BiFunction ты тоже будешь дружить как ежик? Ты когда на собеседование приходишь, в голове тоже на метод наводишь и у тебя всегда подсказка вылезает? И названия методов тоже помнишь и возвращаемый результат?

Дружище. Такова судьба разработчика. Ты должен хорошо знать language и как минимум помнить
хотя-бы приблизительно JDK.

Этих интерфейсов не очень много.

https://docs.oracle.com/javase/8/docs/api/java/util/function/package-summary.html

Кроме того если ты читал Хорстмана по восьмёрке то он описывает их классификацию. Там есть вариативный
префикс который определяет например примитивный тип данных.

И выучить функциональные интерфейсы гораздо легче чем скажем поведение аннотаций JPA или Хибернейт.


Тут не возразить. У меня просто они в голову неделю уже не лезут. Вроде все выучил, а как начинаю писать, так не могу вспомнить.
13 май 19, 11:35    [21883161]     Ответить | Цитировать Сообщить модератору
 Re: Дурацкие вопросы по java  [new]
mayton
Member

Откуда: loopback
Сообщений: 41377
Мозговой_слизень
mayton
пропущено...

Дружище. Такова судьба разработчика. Ты должен хорошо знать language и как минимум помнить
хотя-бы приблизительно JDK.

Этих интерфейсов не очень много.

https://docs.oracle.com/javase/8/docs/api/java/util/function/package-summary.html

Кроме того если ты читал Хорстмана по восьмёрке то он описывает их классификацию. Там есть вариативный
префикс который определяет например примитивный тип данных.

И выучить функциональные интерфейсы гораздо легче чем скажем поведение аннотаций JPA или Хибернейт.


Тут не возразить. У меня просто они в голову неделю уже не лезут. Вроде все выучил, а как начинаю писать, так не могу вспомнить.

Пробовал рисовать MindMap?
13 май 19, 11:39    [21883168]     Ответить | Цитировать Сообщить модератору
 Re: Дурацкие вопросы по java  [new]
Мозговой_слизень
Member

Откуда:
Сообщений: 3008
mayton
Мозговой_слизень
пропущено...


Тут не возразить. У меня просто они в голову неделю уже не лезут. Вроде все выучил, а как начинаю писать, так не могу вспомнить.

Пробовал рисовать MindMap?


Нет. Я их заучивал, основные помню, потом добавились для примитивных типов, потом это все наслоилось на методы переключения типов потоков. И пипец, в голове каша. Как только открываю справочник, так головная боль. Может отдохнуть надо, не знаю. Время жалко терять. Но и учить не могу уже.
13 май 19, 12:24    [21883228]     Ответить | Цитировать Сообщить модератору
 Re: Дурацкие вопросы по java  [new]
mayton
Member

Откуда: loopback
Сообщений: 41377
Мозговой_слизень
mayton
пропущено...

Пробовал рисовать MindMap?


Нет. Я их заучивал, основные помню, потом добавились для примитивных типов, потом это все наслоилось на методы переключения типов потоков. И пипец, в голове каша. Как только открываю справочник, так головная боль. Может отдохнуть надо, не знаю. Время жалко терять. Но и учить не могу уже.

Мне уже за 40. И тоже испытваю проблемы с заучиванием. Инфа вообще новая входит плохо.
Но если ее рисовать или цеплять как паззл та те знания что есть - то становится легче.

Поставь себе такую рисовалку https://freemind.ru.softonic.com/
и попробую в ней изобразить некое знание.
13 май 19, 12:35    [21883244]     Ответить | Цитировать Сообщить модератору
 Re: Дурацкие вопросы по java  [new]
andreykaT
Member

Откуда:
Сообщений: 2246
Мозговой_слизень
andreykaT
Ежу ясно что фильтр это предикат. А если не ясно наведи мышь на метод и подожди подсказки.

Это упрощение кода. Но для тех кто в теме


Для тех что в танке, с BiFunction ты тоже будешь дружить как ежик? Ты когда на собеседование приходишь, в голове тоже на метод наводишь и у тебя всегда подсказка вылезает? И названия методов тоже помнишь и возвращаемый результат?

зависит от собеса. на некоторых я слышал спрашивают сигнатуры разных методов. типа стрингутилс.инбитвин(...) и расскажи чо внутри ))
но это совсем гашенные на голову.
по функциональным интерфейсам, во-первых, их всего несколько штук. во-вторых, ты бы просто разобрался как это и для чего это, ты ведь можешь их и сам писать. в третьих в них всё-равно всегда ровно один метод )))

дв и зачем их заучивать? больше чем уверен, что достаточно просто объяснить для чего они и как их использовать.

если еще вопросы останутся - ну значит такой собеседователь. заклюй его встречными вопросами.
13 май 19, 12:45    [21883254]     Ответить | Цитировать Сообщить модератору
 Re: Дурацкие вопросы по java  [new]
mayton
Member

Откуда: loopback
Сообщений: 41377
Их учить не надо потому что семантика метода заложена в название.

Например.
Interface BiFunction<T,U,R>

Интерфейс бинарной функции. Принимает два аргумента генерализованного типа. Би-это два. Это какраз
остаточное знание. Аргументы читаются слева направо. T-первый аргумент U-второй аргумент и R-результат.

Но сложность у ТС может быть не в заучивании их сигнатур. Я их и сам не помню. Но может быть нет
понимания зачем они нужны. Или где они применяются.
13 май 19, 12:50    [21883261]     Ответить | Цитировать Сообщить модератору
 Re: Дурацкие вопросы по java  [new]
andreykaT
Member

Откуда:
Сообщений: 2246
ну там всё просто два любых типа на вход один любой тип на выход. один тип на вход один тип на выход три типа на вход один на выход, ну и далее по тексту. например мап это 1 на вход 1 на выход. редьюс 2 на вход 1 на выход.
и че там еще насочинять можно.
13 май 19, 13:00    [21883276]     Ответить | Цитировать Сообщить модератору
 Re: Дурацкие вопросы по java  [new]
Мозговой_слизень
Member

Откуда:
Сообщений: 3008
mayton
Мозговой_слизень
пропущено...


Тут не возразить. У меня просто они в голову неделю уже не лезут. Вроде все выучил, а как начинаю писать, так не могу вспомнить.

Пробовал рисовать MindMap?


крутая штука ваще.

К сообщению приложен файл. Размер - 128Kb
27 май 19, 02:53    [21894341]     Ответить | Цитировать Сообщить модератору
 Re: Дурацкие вопросы по java  [new]
mayton
Member

Откуда: loopback
Сообщений: 41377
Посмотри FreeMind. Как мне кажется рисует удачнее.

Это я рисовал слушая записывая доклад Алименкова по JMS.
Машинально фиксировал всякие факты. Связи и облачки не имеют
какого либо сильного смысла. Так... просто состояние потока сознания на данную секунду.

Тоесть не стоит там искать ошибки. Я знаю что они есть. Просто как данность.

К сообщению приложен файл. Размер - 110Kb
27 май 19, 09:11    [21894412]     Ответить | Цитировать Сообщить модератору
 Re: Дурацкие вопросы по java  [new]
mayton
Member

Откуда: loopback
Сообщений: 41377
Вот это тоже по JMS но уже в разрезе реализации Apache MQ.

К сообщению приложен файл. Размер - 37Kb
27 май 19, 09:15    [21894413]     Ответить | Цитировать Сообщить модератору
 Re: Дурацкие вопросы по java  [new]
Мозговой_слизень
Member

Откуда:
Сообщений: 3008
это и есть freemind
Помогает мысли в кучу собрать, того и глядишь подготовлюсь рано или поздно нормально
27 май 19, 13:22    [21894740]     Ответить | Цитировать Сообщить модератору
Все форумы / Java Ответить