Домой Учебники по Java и J2EE Учебное пособие по Java 8 java.time.temporal.TemporalAdjusters и Stream.flatMap ()

Учебное пособие по Java 8 java.time.temporal.TemporalAdjusters и Stream.flatMap ()

647
0

Прошло уже почти два года, как была выпущена Java 8 , март 2014 года. Я уверен, что большинство компаний все еще используют Java 7 с Apache Tomcat в своей производственной среде, но в последнее время она набирает обороты. Поскольку большинство компаний все еще используют Java 7, существует немало незаметных для мира функций.

Некоторое время назад мы написали подробную статью о Java 8 Stream API и Lambda Expression. В этом уроке мы рассмотрим java.time.temporal.TemporalAdjusters а также flatMap() пример.

TemporalObjects

Что tempoalObjects в Java? Это интерфейс уровня структуры, имеющий дело с объектом даты и времени, главным образом read-only objects который обеспечивает доступ в generic manner ,

TemporalAdjusters

TemporalAdjusters — это ключевой инструмент для изменения временных объектов. Есть два способа использовать TemporalAdjuster.

  1. Вызовите метод на интерфейсе напрямую
  2. использовать Temporal.with (TemporalAdjuster)

Stream.flatMap ()

Джава map а также flatMap может применяться к Stream и они оба возвращают Stream , Какая разница?

  • map операция производит одно выходное значение для каждого входного значения
  • flatMap операция выдает произвольное число (ноль или более) значений для каждого входного значения

Давайте начнем с учебника

  • Создать класс CrunchifyJava8TemporalAdjustersAndFlatMap.java
  • Мы создадим два простых метода
    • crunchifyStreamFlatMapExample
    • crunchifyTemporalExample
  • Все детали предоставлены в каждом методе как комментарий
  • Запустите программу и проверьте результат
  • убедитесь, что вы установили JDK 8 в среде Eclipse
CrunchifyJava8TemporalAdjustersAndFlatMap.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
пакет crunchify. ком . учебные пособия ;
Импортировать Java. время. DayOfWeek ;
Импортировать Java. время. LocalDateTime ;
Импортировать Java. время. временный . TemporalAdjusters ;
Импортировать Java. Util. ArrayList ;
Импортировать Java. Util. HashSet ;
Импортировать Java. Util. Список ;
Импортировать Java. Util. Установить ;
Импортировать Java. Util. поток. Коллекционеры ;
/ **
* @author Crunchify.com
*
* /
общественности учебный класс CrunchifyJava8TemporalAdjustersAndFlatMap {
общественности статический недействительным main ( Строка [ ] аргументы ) {
// Stream.flatMap () пример
crunchifyStreamFlatMapExample ( ) ;
// Пример TemporalAdjuster
crunchifyTemporalExample ( ) ;
}
общественности статический недействительным crunchifyStreamFlatMapExample ( ) {
List companyList знак равно новый ArrayList < > ( ) ;
CrunchifyCompany gName знак равно новый CrunchifyCompany ( Google ) ;
gName . добавить ( Gmail ) ;
gName . добавить ( Документы ) ;
gName . добавить ( Google Apps ) ;
CrunchifyCompany yName знак равно новый CrunchifyCompany ( Yahoo ) ;
yName. добавить ( YMail ) ;
yName. add ( «Сайты Yahoo» ) ;
companyList . добавить ( gName ) ;
companyList . добавить ( yName ) ;
// Возвращает поток, состоящий из результатов замены каждого элемента этого потока содержимым сопоставленного
// поток создается путем применения предоставленной функции отображения к каждому элементу
log ( «Вот список всех продуктов компании:» ) ;
Список crunchifyList знак равно companyList . поток ( )
, flatMap ( элемент > элемент. getProducts ( ) . поток ( ) ) . собирать ( Collectors . toList ( ) ) ;
log ( crunchifyList . toString ( ) ) ;
}
частный статический недействительным log ( Строка сообщение ) {
Система. вне. println ( сообщение ) ;
}
статический учебный класс CrunchifyCompany {
частный строка companyName ;
частный Установить продукты ;
общественности CrunchifyCompany ( String companyName ) {
это. setCompanyName (COMPANYNAME);
это. товары знак равно новый HashSet < > ( ) ;
}
общественности недействительным добавить ( строка животное ) {
это. продукты . добавить ( животное ) ;
}
общественности Установить getProducts ( ) {
вернуть продукты ;
}
общественности строка getCompanyName ( ) {
вернуть companyName ;
}
общественности недействительным setCompanyName ( String companyName ) {
это. название компании знак равно companyName ;
}
}
общественности статический недействительным crunchifyTemporalExample ( ) {
// Дата-время без часового пояса в календарной системе ISO-8601
// String time = LocalDateTime.now (). Format (DateTimeFormatter.ISO_OFFSET_DATE_TIME);
// Давайте вернемся currentitme — 1 год
LocalDateTime crunchifyTime знак равно LocalDateTime . сейчас ( ) . minusYears ( 1 ) ;
// TemporalAdjusters: Настройщики являются ключевым инструментом для изменения временных объектов
log ( / n- получить 1-й день месяца: + crunchifyTime . with ( TemporalAdjusters . firstDayOfMonth ( ) ) ) ;
// Возвращает настройку последний день месяца
log ( — получить последний день месяца: + crunchifyTime . with ( TemporalAdjusters . lastDayOfMonth ( ) ) ) ;
// Возвращает настройку «первый день года»
log ( — получить 1-й день года: + crunchifyTime . with ( TemporalAdjusters . firstDayOfYear ( ) ) ) ;
// Возвращает настройку следующего дня недели
log ( — получить следующий день недели:
+ crunchifyTime . with ( TemporalAdjusters . next ( DayOfWeek . WEDNESDAY ) ) ) ;
// Возвращает настройку последний день года
log ( — получить последний день года: + crunchifyTime . with ( TemporalAdjusters . lastDayOfYear ( ) ) ) ;
// Возвращает последний в месяце регулятор
log ( — получить последний день недели:
+ crunchifyTime . with ( TemporalAdjusters . lastInMonth ( DayOfWeek . FRIDAY ) ) ) ;
}
}

Выход:

Результат

1
2
3
4
5
6
7
8
9
Вот Список всего списка продукции компании:
[ Gmail , Документы , Google Apps , YMail , Сайты Yahoo ]
получить первый День Месяц: 20150101T12 : 07 : 11.980
получить Последний день месяца: 20150131T12 : 07 : 11.980
получить первый День года: 20150101T12 : 07 : 11.980
получить следующий день недели: 20150114T12 : 07 : 11.980
получить последний день года: 20151231T12 : 07 : 11.980
получить последний день недели: 20150130T12 : 07 : 11.980
Учебное пособие по Java 8 java.time.temporal.TemporalAdjusters и Stream.flatMap ()

0.00 (0%) 0 votes

ЧИТАТЬ ТАКЖЕ:  Что такое Hibernate? Основы реализации Hibernate Core

ОСТАВЬТЕ ОТВЕТ

Пожалуйста, введите ваш комментарий!
пожалуйста, введите ваше имя здесь