我有以下文本文件
0 name1 name2 name3 name4 vs. name11 name22 name33 name44
1 name1 name2 name3 name4 vs. name11 name22 name33 name44
我想存储0, name1 through 4 and name11 through name44
。
我正在制作的节目告诉我哪支球队赢了。 如果第一个整数是0,则name11到name44获胜,反之亦然
我被困在如何制作多个令牌上?
这是我到目前为止所做的:
import java.io.BufferedReader;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;
import java.util.HashMap;
import java.util.Map;
public class Winning {
public static int whoWon(String filename) {
Map<String, String> map = new HashMap<String, String>();
BufferedReader in = null;
try {
String line = "";
in = new BufferedReader(new FileReader(filename));
while ((line = in.readLine()) != null) {
System.out.println(line);
String parts[] = line.split(" ");
map.put(parts[0], parts[1]);
}
in.close();
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
System.out.println(map.toString());
return 0;
}
public static void main(String[] args) {
Stats s = new Stats();
s.wins("filepath/filename.txt");
}
}
答案 0 :(得分:2)
当然,地图可以存储一个Collection作为值,所以你可以做这样的事情......
Map<String, List<String>> map = new HashMap<String, List<String>>();
...
List<String> list = new ArrayList<String>();
list.add(parts[1]);
...add all tokens to list
map.put(parts[0], list);
答案 1 :(得分:1)
您可以使用@model IQueryable<File>
@{
ViewBag.Title = "File";
}
<h4>Number of files: <strong> @Model.Count() </strong></h4>
@foreach (var item in Model)
{
@RenderItem(item);
}
或Map<String, List<String>> map
答案 2 :(得分:0)
我建议将dto设为Team
,您可以在其中存储团队成员名称等团队详细信息。
然后你可以将另一个dto设为Match
,你可以在其中存储team1,team2和一个团队赢得的布尔值。
然后,您可以创建一个list
Match
,其中您可以放置每行文本文件。
如果第一个整数是0,那么name11到name44赢了,反之亦然,所以我猜你会有多行的值为0和1。
所以我在你的案例中没有看到Map的用例。