Я пытаюсь найти упрощенную версию моего метода, и я хотел бы знать, если у вас есть лучшее мнение.
В основном у меня есть HashMap, который хранит значение ключа как String-String []
Я хотел бы иметь метод, который определяет, содержит ли новое вставленное значение String [] значение String, которое уже присутствует в уже сохраненном значении String [].
Что у меня естьнаписано "и, видимо, работает нормально" следующий метод:
static Map<String,String[]> myMap=new HashMap<String,String[]>();
public static boolean kijkContains(String[] syn){
for(String s:myMap.keySet()){
String[]temp=myMap.get(s);
for(int i=0; i<temp.length; i++){
for(int k=0; k<syn.length; k++){
if(temp[i].equals(syn[k])){
return true;
}
}
}
}
return false;
}
Мои сомнения касаются количества циклов, это, очевидно, метод с высоким потреблением памяти, и мне было интересно, если вы можете думать о каких-либоЛучшая версия.
Я пытался использовать метод MapV containsValue (), но так как этот метод видит в качестве значения String [] вместо чтения массива, я не могу использовать его в качестве компаратора.