Чтобы проверить и продемонстрировать метод getNextValue, если hashmap хранит значения, если они отсутствуют, и извлекает их из карты, если она есть, я добавил основной класс под методом.Ожидается, что поведение будет состоять в том, что значение должно быть взято из hashmap, когда ключ 111 отправляется во второй раз, но каждое значение времени заносится в hashmap.Не уверен, какие последствия - либо Test инициализируется в каждом цикле, либо hashMap инициализируется каждый раз, из-за чего 111 не был доступен, когда 111 был отправлен во второй раз?
Ниже приведен код для справки.
public List<String> getNextValue(Map<String,Object> requestparam){
Map<String,List<String>> hashMap=new HashMap<>();
String hashKey=requestparam.get("key");
if(hashMap.containsKey(hashKey){
return hashMap.get(hashKey
}
else{
List<String> value=new ArrayList<>();
value.add("aa");
hashMap.put(hashKey,value);
return value;
}
}
public static void main(String[] args){
Test t=new Test();
Map<String,Object> request=new HashMap<>();
List<String> x=new ArrayList<>();
x.add("111");
x.add("111");
x.add("222");
for(String y:x){
request.put("key",y)
System.out.println(t.getNextValue(request));
}