-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathElectronics.java
More file actions
48 lines (38 loc) · 1.18 KB
/
Electronics.java
File metadata and controls
48 lines (38 loc) · 1.18 KB
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
package me.day05.practice;
import java.util.Arrays;
public class Electronics {
private static Electronics electronics;
private Electronic[] electronicList;
private Electronics() {
}
public static Electronics getInstance() {
if (electronics == null) {
electronics = new Electronics();
}
return Electronics.electronics;
}
public Electronic findByProductNo(String productNo) {
return Arrays.stream(this.electronicList)
.filter(electronic -> electronic.getProductNo().equals(productNo))
.findFirst()
.orElse(null);
}
Electronic[] groupByCompany(Company company) {
return Arrays.stream(this.electronicList)
.filter(electronic -> electronic.getCompanyName().equals(company))
.toArray(Electronic[]::new);
}
Electronic[] groupByAuthMethod(AuthMethod authMethod) {
return Arrays.stream(this.electronicList)
.filter(
electronic -> Arrays.stream(electronic.getAuthMethods())
.anyMatch(authMethods -> authMethods.equals(authMethod))
).toArray(Electronic[]::new);
}
public Electronic[] getElectronicList() {
return electronicList;
}
public void setElectronicList(Electronic[] electronicList) {
this.electronicList = electronicList;
}
}