Почему я не могу найти дефолтную реализацию методов в коде HashMap (За исключением двух)?
Возможно это как-то связано с версиями jdk, у меня 14-ая стоит
Пример, нет реализации метода indexFor:
package com.javarush.task.task33.task3310;
import com.javarush.task.task33.task3310.strategy.HashMapStorageStrategy;
import com.javarush.task.task33.task3310.strategy.StorageStrategy;
import java.util.Date;
import java.util.HashSet;
import java.util.Iterator;
import java.util.Set;
public class Solution {
public static Set<Long> getIds(Shortener shortener, Set<String> strings){
final Set<Long> ids = new HashSet<>();
for (String s : strings){
ids.add(shortener.getId(s));
}
return ids;
}
public static Set<String> getStrings(Shortener shortener, Set<Long> keys){
final Set<String> strings = new HashSet<>();
for (Long l : keys){
strings.add(shortener.getString(l));
}
return strings;
}
public static void testStrategy(StorageStrategy strategy, long elementsNumber){
//#1
Helper.printMessage(strategy.getClass().getSimpleName());
//#2
Set<String> randomStrings = new HashSet<>();
for (int i = 0; i < elementsNumber; i++){
randomStrings.add(Helper.generateRandomString());
}
//#3
Shortener shortener = new Shortener(strategy);
//#4
long startGetIds = new Date().getTime();
Set<Long> IdsSet = getIds(shortener, randomStrings);
long finishGetIds = new Date().getTime();
Helper.printMessage(String.valueOf(finishGetIds-startGetIds));
//#5
long startGetStrings = new Date().getTime();
Set<String> stringsSet = getStrings(shortener, IdsSet);
long finishGetStrings = new Date().getTime();
Helper.printMessage(String.valueOf(finishGetStrings - startGetStrings));
//#6
boolean result = false;
if (randomStrings.size()!=stringsSet.size())
Helper.printMessage("Тест не пройден.");
else {
Iterator<String> valuesIterator = randomStrings.iterator();
Iterator<String> stringsIterator = stringsSet.iterator();
for (int i = 0; i < randomStrings.size(); i++) {
String s1 = valuesIterator.next();
String s2 = stringsIterator.next();
result= s1.equals(s2);
}
}
if (result)
Helper.printMessage("Тест пройден.");
}
public static void main(String[] args) {
StorageStrategy strategy = new HashMapStorageStrategy();
testStrategy(strategy, 10000);
}
}