С Новым годом! Форум программистов, компьютерный форум, киберфорум
Java SE (J2SE)
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.92/39: Рейтинг темы: голосов - 39, средняя оценка - 4.92
17 / 22 / 6
Регистрация: 16.10.2013
Сообщений: 316

Удалени дубликатов из массива?! (еррейлист)

18.10.2013, 10:20. Показов 7710. Ответов 17
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
привет! хочу загнать сгенерированные числа в еррейлист<стринг>
там множество дубликатов, хотелось бі оставить только уникальніе значения. Не нашел в документации как єто сделать (возможно там и нет такой функции)

Подскажите как оптимально віполнить удаление дубликатов?
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
18.10.2013, 10:20
Ответы с готовыми решениями:

Удаление дубликатов с массива
Добрый день! подскажите плиз как с массива типа List&lt;string&gt; удалить повторяющие строки. public List&lt;string&gt; lst = new...

Удаление дубликатов с массива
public void removeDups(){ int i=0; int dubl=a; for(i=1;i&lt;nElements;i++){ if (a!=dubl) dubl=a; else ...

Сортировка массива по возрастанию + поиск дубликатов
Добрый день:) Я новичек:) подскажите плиз, почему когда помещаю в массив случайные числа, они потом с каждым новым запуском программы...

17
352 / 162 / 20
Регистрация: 22.12.2011
Сообщений: 352
18.10.2013, 10:31
warrax, http://stackoverflow.com/quest... -arraylist
1
17 / 22 / 6
Регистрация: 16.10.2013
Сообщений: 316
18.10.2013, 11:09  [ТС]
Цитата Сообщение от Sakralbar Посмотреть сообщение
спасибо за ответ но мне оптимальній вариант нужен)
а тут слишком много телодвижений. Я и сам могу написать функцию и удалить повторы.

Нашел кое что проще - хешсет.
реализовать пробую так
Java
1
2
3
4
5
6
7
8
9
public class DelDublicates  {
    //создаем метод для удаления дубликатов с помощью хешсет
    public ArrayList<String> DelDubl(ArrayList<String> array){
        ArrayList<String> result = new ArrayList<String>(new HashSet<String>(array));
        Collections.sort(result);
        //System.out.println(result);
        return result;
    }
}
Взято из инета, остальо только понять что там вообще написано
0
352 / 162 / 20
Регистрация: 22.12.2011
Сообщений: 352
18.10.2013, 11:18
warrax, я все понимаю, но по ссылке как раз и был вариант:
To answer the question "delete duplicates in java arraylist":
Just put all elements into a Set and you're done.
HashSet - реализация интерфейса Set.
А в том коде, что вы привели всё просто:
Берется массив с дубликатами, из него формируется HashSet (этим действием удаляются дубликаты), из этого нового HashSet формируется массив. Потом этот массив сортируется и возвращается из функции.
1
17 / 22 / 6
Регистрация: 16.10.2013
Сообщений: 316
18.10.2013, 11:24  [ТС]
Цитата Сообщение от Sakralbar Посмотреть сообщение
warrax, я все понимаю, но по ссылке как раз и был вариант:
HashSet - реализация интерфейса Set.
А в том коде, что вы привели всё просто:
Берется массив с дубликатами, из него формируется HashSet (этим действием удаляются дубликаты), из этого нового HashSet формируется массив. Потом этот массив сортируется и возвращается из функции.
логику то я понял, просто еще не работал с ерейлистом, хешсетом...еще и сортировка...

теперь задумался как мне масив интеджер перевести в стринг и записать в ячейку ерейлиста. и так н-ое количество раз
0
78 / 78 / 9
Регистрация: 28.10.2011
Сообщений: 219
18.10.2013, 13:09
Цитата Сообщение от warrax Посмотреть сообщение
теперь задумался как мне масив интеджер перевести в стринг и записать в ячейку ерейлиста. и так н-ое количество раз
а toString() чем не угодил? вызвать в цыкле , проконкатенировать и пихай куда хочешь. вопрос зачем ?
0
17 / 22 / 6
Регистрация: 16.10.2013
Сообщений: 316
18.10.2013, 13:24  [ТС]
Цитата Сообщение от warloc69 Посмотреть сообщение
а toString() чем не угодил? вызвать в цыкле , проконкатенировать и пихай куда хочешь. вопрос зачем ?
1) вопрос затем, что не знал и намомент его написания еще не нашел ответа
2) уже сдела так
Java
1
2
3
4
5
6
7
// передаем в метод _ccNumber и переводи в стринг и записіваем в ерейлист
    public void writeTolist(int[] _ccNumber) {
        // переводит инт ерей в стринг
        CCtext = Arrays.toString(_ccNumber);
        // добавляем строку в листеррей
        list.add(CCtext);
    }
3) я интересуюсь в основном оптимальными решениями и сделать костыль с цыклом и каждый элемент перевести в стринг это последнее чем бы я занялся))))))

Я уверен, что есть всегда готовые решения которые будут работать оптимальнее ну или так же. Но за то колесо изобретать не нужно да и скорость написания программ в разы больше

п.с. - но спасибо за ответ!
0
78 / 78 / 9
Регистрация: 28.10.2011
Сообщений: 219
18.10.2013, 13:52
Ну если вас не смущают квадратные скобки в начале и конце " [ ] " такой строки, то да...
я полагал что вам нужно получить обычную строку чисел , без доп символов...

Добавлено через 5 минут

Реализация Arrays.toString :

Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
    public static String toString(long[] a) {
        if (a == null)
            return "null";
    int iMax = a.length - 1;
    if (iMax == -1)
            return "[]";
 
        StringBuilder b = new StringBuilder();
        b.append('[');
        for (int i = 0; ; i++) {
            b.append(a[i]);
        if (i == iMax)
        return b.append(']').toString();
            b.append(", ");
        }
    }
1
352 / 162 / 20
Регистрация: 22.12.2011
Сообщений: 352
18.10.2013, 14:54
Цитата Сообщение от warrax Посмотреть сообщение
я интересуюсь в основном оптимальными решениями и сделать костыль с цыклом и каждый элемент перевести в стринг это последнее чем бы я занялся))))))
Цитата Сообщение от warrax Посмотреть сообщение
просто еще не работал с ерейлистом, хешсетом...еще и сортировка...
У новичков так всегда - решения у меня пока нет, но я хочу сразу оптимальное. Легче реализовать что-то, что вертится на языке, а потом слушать критику и править код, нежели потратить тонну времени и сил на поиск оптимального пути и не иметь в итоге вообще никакого решения. Стремление к совершенству не всегда бывает полезным.

Добавлено через 6 минут
Цитата Сообщение от warrax Посмотреть сообщение
привет! хочу загнать сгенерированные числа в еррейлист<стринг>
там множество дубликатов, хотелось бі оставить только уникальніе значения. Не нашел в документации как єто сделать (возможно там и нет такой функции)
Подскажите как оптимально віполнить удаление дубликатов?
Что мешает вам сразу при генерации числа переводить его в String, а потом после условия ArrayList.contains() добавлять новое число в массив? Тогда и дубликатов не будет, и массив String будет.

Добавлено через 5 минут
Цитата Сообщение от warrax Посмотреть сообщение
Java
1
2
3
4
5
6
public void writeTolist(int[] _ccNumber) {
    // переводит инт ерей в стринг
    CCtext = Arrays.toString(_ccNumber);
    // добавляем строку в листеррей
    list.add(CCtext);
}
Вы стремитесь к идеальному коду, но лично у меня метод вызывает вопросы сплошные. Что такое ССtext? Что такое list? Для ответов я должен пролистать код вверх и найти, где эти переменные объявлены, и только потом продолжить читать код метода. И еще: чем писать такие комментарии, лучше не писать комментарии вообще. Такие комментарии только захламляют код: комментарии не должны дублировать то, что и так понятно из кода. Ну и имхо оптимально если и писать комментарии, то на английском языке (или хотя бы не писать "эррейлист" или в том же духе)
1
17 / 22 / 6
Регистрация: 16.10.2013
Сообщений: 316
18.10.2013, 15:05  [ТС]
у меня полностью готовій и рабочий код но...но хочу сделать все по правильному, по єтому и столько вопросов
Комменты пишу для сабя и только для себя так как пока добавлю новый класс и что-то там напишу, забуду что вообще сделал до этого. Когда мозги привыкнут)) тогда будут комменты людские и по англ писать

Добавлено через 36 секунд
Цитата Сообщение от warloc69 Посмотреть сообщение
Ну если вас не смущают квадратные скобки в начале и конце " [ ] " такой строки, то да...
я полагал что вам нужно получить обычную строку чисел , без доп символов...

Добавлено через 5 минут

Реализация Arrays.toString :

Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
    public static String toString(long[] a) {
        if (a == null)
            return "null";
    int iMax = a.length - 1;
    if (iMax == -1)
            return "[]";
 
        StringBuilder b = new StringBuilder();
        b.append('[');
        for (int i = 0; ; i++) {
            b.append(a[i]);
        if (i == iMax)
        return b.append(']').toString();
            b.append(", ");
        }
    }
хмм..про скобки не знал. Буду вырезать значит
0
352 / 162 / 20
Регистрация: 22.12.2011
Сообщений: 352
18.10.2013, 15:10
warrax, блин, неужели вам такие комменты помогают что-то понять или вспомнить?
0
78 / 78 / 9
Регистрация: 28.10.2011
Сообщений: 219
18.10.2013, 15:17
Цитата Сообщение от warrax Посмотреть сообщение
Буду вырезать значит
Нет слов....
0
17 / 22 / 6
Регистрация: 16.10.2013
Сообщений: 316
18.10.2013, 16:17  [ТС]
Цитата Сообщение от Sakralbar Посмотреть сообщение
warrax, блин, неужели вам такие комменты помогают что-то понять или вспомнить?
угу

Добавлено через 38 минут
Цитата Сообщение от warloc69 Посмотреть сообщение
Нет слов....
ладно, может и не правильно делаю...
что на счет такого способа

Java
1
2
3
4
5
6
7
8
9
10
11
12
public void vuvod() {
        StringBuffer text = new StringBuffer();
 
        for (int i = 1; i < Integer.parseInt(NumOfCCin.getText()) + 1; i++) {
            operations();
            text.setLength(0);
            for (int j = 0; j < _ccNumber.length; j++) {
                text.append("" + _ccNumber[j]);
            }
            System.out.println(text.toString());
        }
    }
0
78 / 78 / 9
Регистрация: 28.10.2011
Сообщений: 219
18.10.2013, 16:33
Пришли к тому что я писал в своём первом коментарии
0
17 / 22 / 6
Регистрация: 16.10.2013
Сообщений: 316
18.10.2013, 17:14  [ТС]
Цитата Сообщение от warloc69 Посмотреть сообщение
Пришли к тому что я писал в своём первом коментарии
я не нашел методов toString() в массиве
и так же не нашел как в цыкле все записать в стринг. Но нашел буферстринг где можно дописывать в конец, что я и сделал. Может Вы так и сказали но мой маленький умишка этого не понял
0
78 / 78 / 9
Регистрация: 28.10.2011
Сообщений: 219
18.10.2013, 17:17
Цитата Сообщение от warrax Посмотреть сообщение
я не нашел методов toString() в массиве
а тут что по вашему происходит ?
Цитата Сообщение от warrax Посмотреть сообщение
"" + _ccNumber[j]
Кто то не почитал о неявном вызове toString()
0
17 / 22 / 6
Регистрация: 16.10.2013
Сообщений: 316
18.10.2013, 17:22  [ТС]
Цитата Сообщение от warloc69 Посмотреть сообщение
а тут что по вашему происходит ?


Кто то не почитал о неявном вызове toString()
говорю ж, мало еще знаю, всего 200 страниц книги прочитал и то в рабочее время)

обычно всегда делал так String.valueOf(i); но когда лень писать 14 лишних символов всегда конкатенирую

К стати в маил ру задавал вопрос по єтому поводу, как лучше и как правильно делать, конкатенировать или
вызывать String.valueOf(i);
0
78 / 78 / 9
Регистрация: 28.10.2011
Сообщений: 219
18.10.2013, 17:34
Цитата Сообщение от warrax Посмотреть сообщение
String.valueOf(i)
Это оббертка над Integer.toString()

А конкатенация тоже toString вызывает
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
18.10.2013, 17:34
Помогаю со студенческими работами здесь

Рандом без дубликатов и превращение массива
Ребят, всем привет. Сразу скажу, что я только начал изучать java.. И уже пытался найти самостоятельно инфу по своему вопросу, но не...

Поиск дубликатов в двух массивах с последующим удалением их из виртуального массива
На одном листе есть две таблицы разделенные несколькими строками - это и есть 2 массива. Нужно проверить дублирующиеся значения между ними,...

Куда деваются вирусы при удалени программы Dr.Web
Всеи привет! Ребзя подскажите мож кто знает, Часто пользуюсь Dr.Web Cureit и приходится так же часто удалять его. Куда же все таки...

при создании статьи присваивается ID 0 и благодаря этому не хочет работать создание, редактирование и удалени
Здравствуйте! У меня проблема, сделал БД подключил к сайту всё норм, но проблема такова, при создании статьи присваивается ID 0 и благодаря...

Поиск дубликатов
Добрый день. Подскажите как сделать выборку на поиск дубликатов записей в таблице не учитывая ID записи. Полей очень много и нужно работать...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
18
Ответ Создать тему
Новые блоги и статьи
Первый деплой
lagorue 16.01.2026
Не спеша развернул своё 1ое приложение в kubernetes. А дальше мне интересно создать 1фронтэнд приложения и 2 бэкэнд приложения развернуть 2 деплоя в кубере получится 2 сервиса и что-бы они. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь постоянного тока с R, L, C, k(ключ), U, E, J. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа, решает её и находит токи на L и напряжения на C в установ. режимах до и. . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Изучаю kubernetes
lagorue 13.01.2026
А пригодятся-ли мне знания kubernetes в России?
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru