Java 如何遍历哈希表并返回值?
我必须读一个文件。文件如下所示- 123 143 我已经编写了下面的代码,其中我将该文件读入哈希表Java 如何遍历哈希表并返回值?,java,file,map,iterator,hashtable,Java,File,Map,Iterator,Hashtable,我必须读一个文件。文件如下所示- 123 143 我已经编写了下面的代码,其中我将该文件读入哈希表 public Hashtable<String, String> readDataFromFile(String fileName) { try { FileReader fr = new FileReader(fileName); BufferedReader br = new BufferedR
public Hashtable<String, String> readDataFromFile(String fileName) {
try {
FileReader fr = new FileReader(fileName);
BufferedReader br = new BufferedReader(fr);
String strLine = null;
String []prop = null;
while((strLine = br.readLine()) != null) {
prop = strLine.split("\t");
recruiters.put(prop[0], prop[1]);
}
br.close();
fr.close();
}catch(Exception exception) {
System.out.println("Unable to read data from recruiter file: " + exception.getMessage());
}
return recruiters;
}
公共哈希表readDataFromFile(字符串文件名){
试一试{
FileReader fr=新的FileReader(文件名);
BufferedReader br=新的BufferedReader(fr);
字符串strLine=null;
字符串[]prop=null;
而((strLine=br.readLine())!=null){
prop=strLine.split(“\t”);
招聘人员。put(第[0]项、第[1]项);
}
br.close();
fr.close();
}捕获(异常){
System.out.println(“无法从招聘人员文件中读取数据:”+exception.getMessage());
}
返回招聘人员;
}
此函数返回一个哈希表,第一个参数作为id,第二个参数作为链接
现在,我想写一个函数,在其中我可以读取哈希表,并将第二个参数附加到第一个参数,该函数应该返回一个总url作为结果
比如www.abc.com/123
我就是这样开始的,但对我来说不起作用。。请建议改进
public String readFromHashtable(Hashtable recruiters){
String url=null;
Set<String> keys = hm.keySet();
for(String key: keys){
//Reading value and key
// Appending id into url and returning each of the url.
}
return url;
}
从哈希表读取的公共字符串(哈希表招聘人员){
字符串url=null;
设置键=hm.keySet();
用于(字符串键:键){
//阅读价值与关键
//将id追加到url并返回每个url。
}
返回url;
}
如果您想要两个值(key+value),那么在
有
您需要以某种方式收集URL。在当前代码中,每次循环重复时都会重新分配url
变量,因此最后只返回最后一个url
像这样的方法应该会奏效:
public List<String> readFromHashtable(Hashtable recruiters){
List<String> urls = new ArrayList<String>(recruiters.size());
for(Entry e : recruiters.entrySet()){
urls.add(e.getValue() + '/' + e.getKey());
}
return urls;
}
public List readFromHashtable(Hashtable招聘人员){
List url=newarraylist(recruiters.size());
对于(条目e:recruiters.entrySet()){
add(e.getValue()+'/'+e.getKey());
}
返回URL;
}
还有,为什么要使用HashTable而不是HashMap。如果不使用线程对哈希表进行操作,则可能更喜欢HashMap