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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> вектор без повторных элементы 
V
    Опции темы
ressac
Дата 10.3.2009, 02:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



есть метод 

public Object[] arrayReturn(Object[] array){
...
}

он должен возвратить вектор без повторных элементов, как это сделать?
PM MAIL   Вверх
Vitaly333
Дата 10.3.2009, 04:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



Код

public static Object[] arrayReturn(Object[] a){
        int len = a.length;
                
        Arrays.sort(a);
        Object obj;
        int k = 0;
        for(int i = 0;i<len;i++){
            obj = a[i];
            a[k] = obj;
            for (int j = i+1;j<len;j++){
                if (!obj.equals(a[j])){                    
                    k++;
                    i = j-1;
                    break;
                }
            }
        }
        Object[] b = new Object[k+1];
        System.arraycopy(a, 0, b, 0, k+1);
        return b;
    }



Это сообщение отредактировал(а) Vitaly333 - 10.3.2009, 04:16
PM MAIL   Вверх
ivg
Дата 10.3.2009, 04:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Autonomous R&D
**


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

Репутация: 33
Всего: 81



Код

import java.lang.reflect.Array;
import java.util.Arrays;
import java.util.HashSet;
import java.util.Set;
...
    @SuppressWarnings("unchecked")
    public <T> T[] arrayReturn(T[] array){
        Set<T> set = new HashSet<T>(Arrays.asList(array));
        return set.toArray((T[])Array.newInstance(array.getClass().getComponentType(), set.size()));
    }
 smile 

Это сообщение отредактировал(а) ivg - 10.3.2009, 04:19
PM MAIL   Вверх
Shaggie
Дата 10.3.2009, 07:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Завсегдатай
Сообщений: 570
Регистрация: 21.12.2006
Где: outer space

Репутация: 4
Всего: 72



Если важен порядок вхождения объектов в вектор, то замени конструкцию new HashSet<T> из примера ivg на new LinkedHashSet<T>.


--------------------
Цитата(alina3000 @  6.3.2014,  10:47 Найти цитируемый пост)
Сорри что не по теме 
PM MAIL ICQ GTalk Jabber   Вверх
ressac
Дата 11.3.2009, 11:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



метод Vitaly333 понял, а вот метод ivg, не совсем , что значит T[] и T<>¿
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.0413 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


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

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