Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Java программирование > Общие вопросы по Java, Java SE, Kotlin
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 19.01.2012, 13:57   #1
RAIDER_90
Новичок
Джуниор
 
Регистрация: 19.01.2012
Сообщений: 1
По умолчанию коллекции

Суть программы вот в чем. Есть файл любого размера, программа должна посчитать количество слов в файле и посчитать повторяющиеся слова и вывести сколько раз повторяется то или иное слово. Я тут накидал только с массивом, помогите написать с помощью коллекции.

Код:
import java.io.*;
public class xWords 
{
	public static void main(String[] args) throws IOException 
	{
		String lines = "";
        BufferedReader fin = null;
        fin = new BufferedReader(new InputStreamReader(new FileInputStream("D:\\text1.txt")));
        while (fin.ready()) 
        		lines += fin.readLine() + '\n';
        fin.close();
        String[] arr = lines.split("[^A-Za-zА-Яа-я+-]+");
        System.out.println("Кол-во слов: " + arr.length);
        int cnt = 1;
        for(int a = 0; a < arr.length; a++) 
        {
             if(arr[a].length() == 0)
                 continue;
             for(int b = a + 1; b < arr.length; b++) 
             {
                 if(arr[a].equalsIgnoreCase(arr[b])) 
                 { 
                      cnt++;
                      arr[b] = "";
                 }
             }
             System.out.println("["+cnt+"] " + arr[a]);
             cnt = 1;   
        }
        System.in.read();
        
	}
}
RAIDER_90 вне форума Ответить с цитированием
Старый 17.04.2012, 22:02   #2
Dmios
Новичок
Джуниор
 
Регистрация: 17.04.2012
Сообщений: 4
Хорошо

Код:
Map<String, Integer> map = new HashMap<String, Integer>();
for(String word: arr){
    if(map.containsKey(word)) map.put(word, map.get(word) + 1);
    else map.put(word, 0);
}

for(Map.Entry entry : map.entrySet()){
    System.out.println(String.format("%s = %s", entry.getKey(), entry.getValue()));
}
Dmios вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Java коллекции programmm Помощь студентам 0 12.11.2011 22:37
Проверка символов в коллекции. GrifoNjkeee Общие вопросы .NET 0 09.11.2010 17:41
Коллекции объектов формы YouKnowNow Microsoft Office Excel 2 31.05.2010 15:56
Коллекции van-ok Помощь студентам 0 25.12.2009 01:47
Коллекции Mike777 Общие вопросы Delphi 0 19.02.2007 11:38