Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Центр помощи > [Java] Map


Автор: kornata 25.3.2010, 13:29
Здравствуйте! Помогите выполнить следующее задание.

СоздатьMap<String,ArrayList<Integer>>. Использовать net.mindview.TextFileчтобы открыть текстовый файл и читать его по одному слову (используя "\\W+" как параметрTextFileконструктора). Считать слова по мере считывания. Для каждого слова добавлять в соответствующий этому слову ArrayList<Integer> текущее значение счётчика слов.

Автор: LSD 25.3.2010, 14:30
Для домашних заданий, курсовых, существует "Центр Помощи".

Тема перенесена! 

Автор: kornata 25.3.2010, 15:27
Извините, не знала.

Автор: LSD 25.3.2010, 16:11
Где взять класс net.mindview.TextFile?

Автор: kornata 25.3.2010, 16:42
Это в файлах Брюса Экеля "Философия Джавы". Проблема решена. Вот код:

Код

import java.util.*;
import java.util.ArrayList;
import net.mindview.util.*;

public class Main {

    public static void main(String[] args) {
        Map<String, ArrayList<Integer>> ksl =
                new LinkedHashMap<String, ArrayList<Integer>>();
        List<String> slova = new LinkedList<String>();
        slova.addAll(new TextFile("read.php", "\\W+"));
        System.out.println("Слова в файле: " + slova);
        Iterator itslova = slova.iterator();
        int count = 0;
        while (itslova.hasNext()) {
            String s = (String) itslova.next();
            count++;
            if (!ksl.keySet().contains(s)) {
                ArrayList<Integer> ai =
                        new ArrayList<Integer>();
                ai.add(0, count);
                ksl.put(s, ai);
            } else {
                ksl.get(s).add(count);
                ksl.put(s, ksl.get(s));
            }
        }
        System.out.println("Карта расположения слов:\n" + ksl);
    }
}


Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)