-1

我已经使用了这个链接中的信息,但是我在其他方面有很多问题。 如何使用包含三列的 hashmap 读取文本文件?

我有 .txt 文件,其中包含如下数据:

1 WORD1 WORD11 WORD111

2 WORD2 WORD22 WORD222

3 WORD3 WORD33 WORD333

我想得到什么:

  • k = 从 1 到 x 生成的数字(取决于 txt 文件中的行 - 我可以处理)
  • 显示 k(作为 WORD1 或 WORD2 或...)我的意思是:System.out.println(1) -> OUTPUT: WORD1
  • 之后从键盘读取“WORD11”和“WORD111”,如果输入的 WORD11 和 WORD111 与文件中的单词相同,则返回 true。

我不知道如何对这些数据进行操作。第二点似乎是最困难的,但我不知道应该使用什么集合(地图、数组、列表等)。任何信息都有帮助。

4

2 回答 2

1

简单的方法是定义一个代表一行的类,如下所示:

public class Row {
    private String col1;
    private String col2;
    private String col3;

    // ... getter & setter
}

然后有一个使用这个类的地图:Map<Integer, Row> rows = new HashMap<Integer,Row>().

为了改进课程,您可以保持列的灵活性。

public class Row {
    private List<String> cols = new ArrayList<String>();

    // ... getter & setter etc.
}
于 2013-04-15T13:17:43.363 回答
1

使用数字、word1、word11 和 word111 创建一个对象,当您读取数据时,您会在集合或哈希图中创建此对象。当用户输入 word11, text 时,您只需要将文字与对象的成员进行比较。

像 Moritz Petersen 在他的回答中建议的简单对象。

于 2013-04-15T13:18:33.317 回答