Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package textproc;
- import java.util.ArrayList;
- import java.util.HashMap;
- import java.util.HashSet;
- import java.util.List;
- import java.util.Map;
- import java.util.Set;
- import java.util.TreeMap;
- public class GeneralWordCounter implements TextProcessor{
- private Set<String> stopwords = new HashSet<String>();
- private Map<String, Integer> wordlist = new TreeMap<String, Integer>(); //HashMap
- public GeneralWordCounter(Set<String> s1) {
- stopwords=s1;
- }
- public void process(String w) {
- if (!stopwords.contains(w)) {
- if(wordlist.containsKey(w)) {
- wordlist.put(w, wordlist.get(w)+1);
- } else {
- wordlist.put(w, 1);
- }
- }
- }
- public void report() {
- //for (String key : wordlist.keySet()) {
- // gör något med key och m.get(key)
- //if (wordlist.get(key)>=200)
- //System.out.println(wordlist.get(key) + ": " + key);
- Set<Map.Entry<String, Integer>> wordSet = wordlist.entrySet();
- List<Map.Entry<String, Integer>> wordList = new ArrayList<>(wordSet);
- wordList.sort(new WordCountComparator());
- for (int i=0; i<100; i++) {
- System.out.println( wordList.get(i) );
- }
- }
- }
- package textproc;
- import java.util.*;
- import java.util.Map.Entry;
- public class WordCountComparator implements Comparator<Map.Entry<String,Integer>> {
- @Override
- public int compare(Entry<String, Integer> arg0, Entry<String, Integer> arg1) {
- if (arg0.getValue() < arg1.getValue()) {
- return 1;
- }
- else if (arg0.getValue() > arg1.getValue()) {
- return -1;
- }
- else {
- return 0;
- }
- //return arg0.getValue() - arg1.getValue(); returnerar int som är skillnaden mellan argumenten
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement