Модераторы: LSD, AntonSaburov
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Отсортированный массив уникальный строк 
V
    Опции темы
arcsupport
Дата 21.7.2010, 20:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 725
Регистрация: 24.10.2008

Репутация: 1
Всего: 2



Код

        t = new StreamTokenizer(f);
        ArrayList al = new ArrayList();
        ........
        while (t.nextToken() != t.TT_EOF)
        {
            al.add(t.sval);
        }
        Collections.sort(al);
        Object la[] = al.toArray();
        for (int i = 0; i < la.length; i++)
        {
            g.println(la[i].toString());
        }
где g - PrintWriter
  • Как сделать, чтобы строки были уникальны
  • Как обойтись без ArrayList, потому что выдает при компиляции сообщение о "uses unchecked or unsafe operations"
  • Мне не нравится la[i].toString(). Можно ли сделать, чтобы la был String[]


Это сообщение отредактировал(а) arcsupport - 21.7.2010, 20:24
PM MAIL   Вверх
jk1
Дата 21.7.2010, 20:33 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник
Сообщений: 1168
Регистрация: 17.10.2008
Где: Санкт-Петербург

Репутация: 40
Всего: 75



Код

t = new StreamTokenizer(f);
Set<String> set = new TreeSet<String>();
........
while (t.nextToken() != t.TT_EOF)
{
    set.add(t.sval);
}
for (String item: set){
     g.println(item);
}


Это сообщение отредактировал(а) jk1 - 21.7.2010, 20:35


--------------------
Opinions are like assholes — everybody has one
PM MAIL   Вверх
arcsupport
Дата 21.7.2010, 21:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 725
Регистрация: 24.10.2008

Репутация: 1
Всего: 2



Спасибо
  • Объясните, пожалуйста, for (String item: set) {g.println(item);}
  • Как из этого TreeSet сделать массив строк (именно строк, а не объектов)
  • С чем связано сообщение о "uses ..."


Это сообщение отредактировал(а) arcsupport - 21.7.2010, 21:27
PM MAIL   Вверх
jk1
Дата 21.7.2010, 22:44 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник
Сообщений: 1168
Регистрация: 17.10.2008
Где: Санкт-Петербург

Репутация: 40
Всего: 75



Цитата

Объясните, пожалуйста, for (String item: set) {g.println(item);}

Это просто еще одна форма цикла for, доступная начиная с JDK 1.5. Позволяет перебрать элементы любого класса, реализующего интерфейс Iterable, таких как ArrayList или TreeSet, а также массивов. Внутри цикла вам доступна переменная, указывающая на текущий элемент при переборе. В приведенном коде она просто выводится в некоторый поток.
Цитата

Как из этого TreeSet сделать массив строк (именно строк, а не объектов)

Код

Set<String> set = new TreeSet<String>();
String[] strings = set.toArray(new String[]{});

Цитата

С чем связано сообщение о "uses ..."

Оно связано в Generics. Это особый механизм, позволяющий задавать тип содержимого коллекции. Если вы его не задаете, компилятор генерирует предупреждение, хотя работать этот код будет, так сделано в целях обратной совместимости. Подробнее о том, что такое Generics.


--------------------
Opinions are like assholes — everybody has one
PM MAIL   Вверх
arcsupport
Дата 22.7.2010, 00:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 725
Регистрация: 24.10.2008

Репутация: 1
Всего: 2



Спасибо большое. Вопрос решен.
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Java"
LSD   AntonSaburov
powerOn   tux
javastic
  • Прежде, чем задать вопрос, прочтите это!
  • Книги по Java собираются здесь.
  • Документация и ресурсы по Java находятся здесь.
  • Используйте теги [code=java][/code] для подсветки кода. Используйтe чекбокс "транслит", если у Вас нет русских шрифтов.
  • Помечайте свой вопрос как решённый, если на него получен ответ. Ссылка "Пометить как решённый" находится над первым постом.
  • Действия модераторов можно обсудить здесь.
  • FAQ раздела лежит здесь.

Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux, javastic.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Java: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0483 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.