forked from hacker85/JavaLessons
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathFlyWeightLesson.java
More file actions
30 lines (26 loc) · 795 Bytes
/
Copy pathFlyWeightLesson.java
File metadata and controls
30 lines (26 loc) · 795 Bytes
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
package patterns.structural;
import java.util.HashMap;
import java.util.Map;
public class FlyWeightLesson {
public static void main(String[] args) {
FlyWieghtGarage flyWieghtGarage = new FlyWieghtGarage();
Mercedes mercedes = flyWieghtGarage.getMercedes("green");
Mercedes mercedes2 = flyWieghtGarage.getMercedes("green");
System.out.println(mercedes == mercedes2);
}
}
class Mercedes {
String color;
}
class FlyWieghtGarage {
Map<String, Mercedes> map = new HashMap<>();
Mercedes getMercedes(String color) {
Mercedes mercedes = map.get(color);
if(mercedes == null) {
mercedes = new Mercedes();
mercedes.color = color;
map.put(color, mercedes);
}
return mercedes;
}
}