java - 如何在 java 中获取 String java.util.Map.Entry.getKey() 的大小?

标签 java hashmap key

我尝试了一些选项,但无法获得所需的输出。

问题是如何获取m.getKey()的大小

我试过 m.getKey().length ,m.getKey().size 但我找不到。

System.out.print("\n duplicate words: ");
for(Map.Entry<String, Integer> m:  map.entrySet()){
if(m.getValue()>toStringArray.length-1)
);
System.out.print(m.getKey() + " ");
}

输出是

( HI THIS IS MY OUTPUT)

我需要的输出是

(5) //HI THIS IS MY OUTPUT total count is 5

欢迎提出建议。

我是java初学者

这是我的完整代码

import java.io.File;
import java.io.FileInputStream;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.util.HashMap;
import java.util.Map;
import java.util.Scanner;
import org.apache.commons.io.IOUtils;


public class testduplicatewordnew {
public static void main(String[] args) throws Exception {

/* Reading text content from file    */
 FileInputStream fisTargetFile = new FileInputStream(new File("E:\\testfolder\\மிரளச் செய்யும் மிலரபாவின் கதை!  Isha Tamil Blog 15.txt"));

    String targetFileStr = IOUtils.toString(fisTargetFile, "UTF-8");

 String []toStringArray = targetFileStr.split(" ");


 HashMap<String , Integer> map = analyzeWords("Analyzing contents ", toStringArray);



 System.out.print("\nduplicate words: ");
 for(Map.Entry<String, Integer> m:  map.entrySet()){
 if(m.getValue()>toStringArray.length-1)
// System.out.print(m.getKey() + "-" + m.getValue()/(toStringArray.length-1) + " ");
  System.out.print(m.getKey()+ " ");
 // System.out.println(map.keySet().size());
// System.out.println(m.getValue());


}
 System.out.println("\n");
 }

 private static HashMap<String, Integer> analyzeWords(String command, String []toStringArray ){
System.out.println(command);  

HashMap<String, Integer> unik = new HashMap<String, Integer>();  

int i =0;
while(i<toStringArray.length){ unik.put(toStringArray[i++], 0);}

 for(i = 0; i< toStringArray.length; i++){   
 for(int j = 0; j< toStringArray.length; j++ ){
 if( (toStringArray[i] != toStringArray[j]) && (i != j))
  unik.put(toStringArray[i],(int)unik.get(toStringArray[i]) +1);
 }
 }// oef outter for loop


 return unik;
 }// eof analyzeWords method

 /* method to read file content.
  * returns the contents of text file as a string */
 private static String fileNameReader(String fileName) throws FileNotFoundException{
System.out.println("\nReading " +fileName+ " file");
String generateString = "";
try{   
 File file = new File(fileName);
 Scanner scanner = new Scanner(file);

 generateString = scanner.nextLine();
 while (scanner.hasNextLine()) {
      generateString = generateString + "\n" + scanner.nextLine();
 }scanner.close();
 System.out.println("\nInitial content");
 System.out.println(generateString);
}catch(IOException e){
 System.out.println("\nError occured while reading file...");
 }
return generateString;
 }// eof fileNameReader method
}

最佳答案

您可以尝试像下面这样的方法来计算关键字中的单词数:

String keys = "";
for(Map.Entry<String, Integer> m:  map.entrySet()){
 if(m.getValue()>toStringArray.length-1)
    keys = keys + " " + m.getKey();
}
System.out.print(keys.trim().split("\\s+").length);

关于java - 如何在 java 中获取 String java.util.Map.Entry.getKey() 的大小?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34916158/

相关文章:

javascript - 如何导出 GWT 库项目(不是 jar)而是 Javascript (js) 库?

java - 在 Java 程序中在远程计算机上运行批处理文件

oop - Scala:使用具有默认值的HashMap

algorithm - 有没有一种方法可以生成一个单一的键来记住我们遇到的所有字符串

java - 如何将图像放入.jar 文件中?

java - onItemLongClick 未定义?

Java 在 HashMap 中存储特定的类类型

java - 基于long值的HashMap,get/put o(1)?

jquery - Google 日历 API 中的 "keyExpired"

Python:获取与字典中单个键关联的值列表