Существует несколько подходов:
Использование Сумка alorithm как наборы содержится в Google Collections.
Создают изменяемый контейнер, который можно использовать в Карте:
class My{
String word;
int count;
}
И помещенное использование ("слово", новое Мой ("Word")); Тогда можно проверить, существует ли это и инкремент при добавлении.
Стараются не прокручивать Ваше собственное решение с помощью списков, потому что, если Вы получаете innerloop поиск и сортировка, Ваша производительность будет вонять. Первое решение HashMap на самом деле довольно быстро, но надлежащее как найденный в Google Collections, вероятно, лучше.
слова подсчета с помощью Google Collections, выглядит примерно так:
HashMultiset s = new HashMultiset();
s.add("word");
s.add("word");
System.out.println(""+s.count("word") );
Используя HashMultiset довольно изящно, потому что алгоритм сумки, в чем Вы нуждаетесь при подсчете слов.
Формат цветового кода mIRC описан здесь . Я думаю, вы спрашиваете, как встроить ^ C в строку.
Это известно как нотация каретки . Согласно управляющим кодам C0 и C1 , ^ C :
'\x03'
Встроено в строку:
"blabla \x035,12to be colored text and background\x03 blabla"
В моем IRC-боте Python я могу выделиться жирным шрифтом, чтобы появиться в irssi, используя \ x02sometext \ x02, что выглядит так:
this is \x02some text\x02
это какой-то текст
Как для цветов, я считаю, вы ищете \ x03AA, BB, где A - цвет переднего плана, а B - цвет фона (то, что вы вводите после Ctrl + K). Хотя, конечно, не на 100%. Попробуйте подключить IRC-клиент с помощью telnet и проверьте, что делает mIRC, когда вы используете Ctrl + K.
Вы вряд ли получите стандартное согласованное поведение для IRC-клиентов ... escape-коды ANSI обрабатываются более старыми -fare основные клиенты Unix, такие как irssi, а mIRC иногда делает свои собственные вещи.