тест в Solution проходит со временем
getIds generation time: 834
getStrings generation time: 105
для 100 элементов
package com.javarush.task.task33.task3310;
import com.javarush.task.task33.task3310.strategy.StorageStrategy;
public class Shortener {
private Long lastId = 0L;
private StorageStrategy storageStrategy;
public Shortener(StorageStrategy storageStrategy) {
this.storageStrategy = storageStrategy;
}
public synchronized Long getId(String value) {
if (storageStrategy.containsValue(value))
return storageStrategy.getKey(value);
lastId++;
storageStrategy.put(lastId, value);
return storageStrategy.getKey(value);
}
public synchronized String getString(Long key) {
return storageStrategy.getValue(key);
}
}