-1

このリンクの情報を使用しましたが、他にも多くの問題があります。 3 つの列を含むハッシュマップを含むテキスト ファイルを読み取るにはどうすればよいですか?

次のようなデータを含む .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 を返します。

そのデータを操作する方法がわかりません。2 番目の点が最も難しいようですが、どのコレクション (マップ、配列、リストなど) を使用すればよいかわかりません。どんな情報でも役に立ちます。

4

2 に答える 2

1

簡単な方法は、次のように 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 を使用してオブジェクトを作成し、データを読み取るときに、コレクションまたはハッシュマップでこのオブジェクトを作成します。ユーザーが単語 11、テキストを入力すると、リテラルをオブジェクトのメンバーと比較するだけで済みます。

モリッツ・ピーターセンが彼の答えで示唆しているような単純なオブジェクト。

于 2013-04-15T13:18:33.317 に答える