Печать данных из текстового файла, импортированного в хэш-карту, игнорирование символов - PullRequest
0 голосов
/ 06 ноября 2019

У меня есть текстовый файл, который содержит следующее:

example.txt

#ignore
#ignore line
#ignore line again
1234567
8940116
12131415

Я хочу прочитать файл example.txt в eclipse и добавить данные в hashmap,Я хочу, чтобы список располагался в числовом порядке, и я хочу, чтобы он игнорировал любые комментарии (любой текст с #) в текстовом файле. Я хотел бы напечатать хэш-карту следующим образом:

вывод:

1234567
8940116
12131415

Ответы [ 2 ]

1 голос
/ 06 ноября 2019

Вам не нужна хэш-карта для хранения только строк. Карты предназначены для пар ключ-значение. Если вы хотите поместить каждую строку из файла в коллекцию, используйте Списки. ArrayLists, LinkedList поддерживают порядок вставки. Вы можете использовать любой из них. Если вы хотите отсортированный список, вы можете использовать TreeList.

    BufferedReader reader;
    List<String> list = new ArrayList<String>();
    try {
        reader = new BufferedReader(new FileReader(
                "example"));
        String line = reader.readLine();
        while (line != null) {
            if(!line.startsWith("#"){
                list.add(line);
              }
              line = reader.readLine();
        }
        reader.close();
    } catch (IOException e) {
        e.printStackTrace();
    }
0 голосов
/ 06 ноября 2019

Цель Map состоит в том, чтобы хранить пары Key/Value, для одной коллекции вы можете использовать List, это гораздо более эффективно, печатная часть - ваша работа независимо от типа коллекции

List<String> values = new ArrayList<>();
try (BufferedReader reader = new BufferedReader(new FileReader("filename"))) {
    String line;
    while ((line = reader.readLine()) != null) {
        if (!line.startsWith("#")) {
            values.add(line);
        }
    }
} catch (IOException e) {
    e.printStackTrace();
}

for (String v : values)
    System.out.println(v);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...