Использование hashMaps со строковым / целочисленным отношением

У меня проблема с некоторым текущим кодом. Я закончил первую половину, но теперь я использую hashMap для поиска в этом импортированном текстовом документе и нахождения наиболее часто используемого слова и количества раз, когда оно появляется. У меня было написано много синтаксиса, и мой профессор сказал, что он немного посторонний, поэтому я немного сократил его. У меня проблема с entrySet, который мы должны использовать. Я дошел до этого момента, но у меня возникла проблема с его реализацией. Любая помощь была бы отличной, я просто не знаком с концепцией entrySet, но я прочитал документацию.

Спасибо, вот код:

import java.io.File;
import java.io.FileNotFoundException;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Scanner;
import java.util.Set;

public class HashMapPractice {

public static void main(String[] args) throws FileNotFoundException{

    Scanner file = new Scanner(new File("crime_and_punishment.txt"));

    Map<String, Integer> crimeMap= new HashMap<String, Integer>();

    while (file.hasNext()){
        String word = file.next();
        if(crimeMap.containsKey(word)){
            int placeholder = crimeMap.get(word) + 1;
            crimeMap.put(word, placeholder);
        }else{
            crimeMap.put(word, 1);
        }   
    }//ends while loop

    Set<Map.Entry<String,Integer>> entrySet = crimeMap.entrySet();


    for(Map.Entry<String, Integer> ent : entrySet){
        String key = ent.getKey();
        Integer value = ent.getValue();

        System.out.printf("Word: [" + ent.getKey()+"], Times: ["  +   

         ent.getValue()+"]");
    }
}//ends main
}//ends class

0 ответов

Другие вопросы по тегам