-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathElectronics.java
More file actions
55 lines (45 loc) · 1.61 KB
/
Electronics.java
File metadata and controls
55 lines (45 loc) · 1.61 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
49
50
51
52
53
54
55
package me.day05.practice.Practice03;
import me.day05.practice.Practice01.AuthMethod;
import me.day05.practice.Practice01.Company;
import me.day05.practice.Practice01.Electronic;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
public class Electronics {
private Electronic[] electronicList;
private static Electronics instance;
private Electronics() {
}
public static Electronics getInstance() {
if(instance == null)
instance = new Electronics();
return instance;
}
public Electronic[] getElectronicList() {
return electronicList;
}
public void setElectronicList(Electronic[] electronicList) {
this.electronicList = electronicList;
}
public Electronic findByProductNo(String productNo) {
for(Electronic electronic : electronicList) {
if(productNo.equals(electronic.getProductNo()))
return electronic;
}
return null;
}
public Electronic[] groupByCompanyName(Company company) {
Electronic[] electronics = Arrays.stream(electronicList).filter(list -> list.getCompanyName().equals(company)).toArray(Electronic[]::new);
return electronics;
}
public Electronic[] groupByAuthMethod(AuthMethod authMethod) {
List<Electronic> arr = new ArrayList<>();
for(Electronic electronic : electronicList) {
for(AuthMethod auth : electronic.getAuthMethod()) {
if(auth == authMethod)
arr.add(electronic);
}
}
return arr.toArray(new Electronic[arr.size()]);
}
}