好的,我正在尝试为我的作业创建一个新地图。我不确定如何将其插入此类型。主要目标是读取文件,使用文件的第一行作为地图的名称/键,然后将第二行添加到地图的第二部分。我只是在实际插入时遇到了麻烦。主要功能背面没有代码,我只想获得实际插入的帮助:
import java.io.*;
import java.util.*;
public class TimetableReader {
private static Map<Route, List<Service>> timeTable;
public static Map<Route, List<Service>> read(String fileName)
throws IOException, FormatException {
timeTable.put(key, value)
/* Reads in the file */
try
{
FileInputStream in = new FileInputStream(fileName); // Creates a new input stream
BufferedReader br = new BufferedReader(new InputStreamReader(in)); // Creates a new Buffer Reader
String strLine; // Creates Variable that will represent each line
/* Processes the lines in the file */
boolean newRoute = true;
int routeNumber = 0;
while((strLine = br.readLine())!= null)
{
if (newRoute == true) {
newRoute = false;
timeTable[routeNumber] = strLine;
}
}/* END - Process file */
}catch(Exception e){
System.out.println(e);
}
/* END - Read file */
return timeTable;
}
}
答案 0 :(得分:0)
要插入Map
使用put(K,V)
方法,K
是关键,V
是值。
//timeTable[routeNumber] = strLine;
timeTable.put(K, V);
您的地图密钥应为Route
类型,值类型应为List<String>
请参阅java api here
答案 1 :(得分:0)
您的代码存在一些问题,但让我们从您提出的问题开始: 对象timeTable是一个map,您将它用作(关联)数组,不要将键视为数字,而是将它们视为对象,任何类型的对象都可以是键;您将不得不更改代码并执行以下操作:
if (newRoute == true) {
newRoute = false;
timeTable.put(routeNumber, strLine);
}
我在代码中看到的问题是:
希望它有所帮助。