Implement SnapshottableMap class.
class Snapshot {
String get(String key);
}
class SnapshottableMap {
void put(String key, String value);
String get(String key);
Snapshot createSnapshot();
List<Snapshot> getSnapshots();
}Example:
SnapshottableMap map = new SnapshottableMap();
Snapshot s0 = map.createSnapshot();
s0.get("name"); // null
map.put("name", "John");
map.put("country", "UK");
Snapshot s1 = map.createSnapshot();
s1.get("name"); // "John"
s1.get("country"); // "UK"
map.put("name", "Marta");
Snapshot s2 = map.createSnapshot();
s2.get("name"); // "Marta"
s2.get("country"; // "UK"
s1.get("name"); // "John"Related problems: