#java #hashmap
#java #hashmap
Вопрос:
У меня проблемы с импортом Map.Entry. Несмотря на то, что у меня есть import import java.util.Map.Entry — появляется ошибка: «Импорт java.util.Map.Entry не может быть разрешен». И метод entrySet() не работает. в чем проблема? (Я использую jre8)
import java.io.File;
import java.util.LinkedHashMap;
import java.util.Map;
import java.util.Set;
import org.biojava3.core.sequence.ProteinSequence;
import org.biojava3.core.sequence.io.FastaReaderHelper;
public class Main {
/**
* @param args
*/
public static void main(String[] args) throws Exception {
LinkedHashMap<String, ProteinSequence> a = FastaReaderHelper.readFastaProteinSequence(new File("A2RTH4.fasta"));
for (Map.Entry<String, ProteinSequence> entry : a.entrySet(); //entrySet A map entry (key-value pair).
{
System.out.println( entry.getValue().getOriginalHeader() "=" entry.getValue().getSequenceAsString() );
}
}
}
Комментарии:
1. «И метод entrySet() не работает» — каким образом? Пожалуйста, будьте более точны. Также, пожалуйста, предоставьте краткий, но полный пример, демонстрирующий проблему. Для меня это работает нормально…
2. Пытался воспроизвести, но
import java.util.Map.Entry
позволяет мне объявить экземплярEntry
без проблем. Не могли бы вы показать нам какой-нибудь код?3. Код, пожалуйста. Нет кода, нет помощи.
4. Я добавляю код, чтобы вы могли его просмотреть
5. Просто скопировал ваш код и сделал несколько макетов для ProteinSequence и т. Д. Единственная ошибка, которую я получил, заключается в том, что в вашем цикле отсутствует «)»
for
. Точка с запятой («;») должна быть «)». Остается ли проблема, когда вы это делаете?
Ответ №1:
for(Map.Entry<String, Integer> entry : someMap.entrySet())
работает import java.util.Map
только с импортом.
Ответ №2:
for (Map.Entry<String, ProteinSequence> entry : a.entrySet();
должно быть
for (Map.Entry<String, ProteinSequence> entry : a.entrySet())
(закрывающая скобка вместо точки с запятой).
Ответ №3:
import java.util.Map
достаточно
Попробуйте этот код, он должен работать:
public static void main(String[] args) throws Exception {
LinkedHashMap<String, ProteinSequence> a = FastaReaderHelper.readFastaProteinSequence(new File("A2RTH4.fasta"));
Set entrySet = a.entrySet();
Iterator it = entrySet.iterator();
// Iterate through LinkedHashMap entries
System.out.println("LinkedHashMap entries : ");
while(it.hasNext())
System.out.println(it.next());
}
}
Вместо foreach попробуйте использовать итератор для перебора структуры данных LinkedHashMap.
Комментарии:
1. даже если у меня есть import java.util. Map у меня проблема с моей строкой кода для (Map.Entry<Строка, последовательность протеинов> запись: a.entrySet(); eclipse говорит: ссылка на отсутствующий элемент ‘Map.Entry’
2. Возможно, вам нужно правильно настроить Eclipse, но лучшим решением для справки будет публикация кода.
3. Существует синтаксическая ошибка, закройте скобки из цикла for .
4. это правда, но это не главная проблема. тем не менее, что-то не так со ссылкой на Map.Entry