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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 24.02.2017, 12:22   #1
Stas8010
 
Регистрация: 08.02.2017
Сообщений: 8
По умолчанию Java Как переместить все Null в право

Как переместить все Null в право
["text", "message", null, null, "retro", null, null, null, null]

и
вывсети

["text", "message", "retro"]
Stas8010 вне форума Ответить с цитированием
Старый 24.02.2017, 12:34   #2
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

Это что? Массив/список?
Какая именно задача? Может надо просто создать новый список (пройти по исходному и добавить все не null в новый).
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума Ответить с цитированием
Старый 24.02.2017, 12:38   #3
Stas8010
 
Регистрация: 08.02.2017
Сообщений: 8
По умолчанию

Это задача удаление дубликатов из массива
{"text", "message", "text", "message","retro","retro","retro"," text", "message"};

нужно получить
{"text", "message", "retro"};

Я нашел дубликаты и заменил их на Null

["text", "message", null, null, "retro", null, null, null, null]

теперь надо отсечь все Null и вывести
{"text", "message", "retro"};

как это сделать?
Stas8010 вне форума Ответить с цитированием
Старый 24.02.2017, 12:42   #4
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

Вывести куда/в каком виде?
Из массива нельзя удалять, можно только создать новый.
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума Ответить с цитированием
Старый 24.02.2017, 12:52   #5
Stas8010
 
Регистрация: 08.02.2017
Сообщений: 8
По умолчанию

Код:
public String[] drop(String[] value) {
       int count = 0;
        for (int i = 0; i < value.length; i++) {
            for (int j = i + 1; j < value.length; j++) {
                if (value[i] != null && value[i].equals(value[j])) {
                    value[j] = null;
                    count++;
                }
            }
        }
//Этот код правильный? Он перемещает знач null в конец
Код:
/*
        for (int i = 0; i < value.length-1; i++) {
            for (int j = 0; j < value.length-1; j++) {
                if (value[j] == null) {
                    value[j] = value[j + 1];
                    value[j + 1] = null;
                }
            }
        }
*/


        return Arrays.copyOf(value, value.length - count); тут отсекаются null
        }
    }
Пожалуйста, оформляйте Ваш код согласно правилам.

Последний раз редактировалось Вадим Мошев; 24.02.2017 в 13:26.
Stas8010 вне форума Ответить с цитированием
Старый 24.02.2017, 13:54   #6
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

Проще посчитать количество не null, создать массив этого размера и добавить все не null элементы туда.
И алгоритм будет O(N) вместо O(N^2).

А дубликаты точно можно заменять на null? Исходный массив не требуется оставлять без изменений?
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
разница между this(null) и this.text = null Lama Under Cover Общие вопросы по Java, Java SE, Kotlin 1 11.12.2016 15:35
Сервер отправляет объект не null, а клиент принимает null (C# WCF) NewLamer&Programer Общие вопросы .NET 3 22.04.2016 18:55
Переместить все txt из папки в другую komra2 C# (си шарп) 2 01.04.2016 02:56
переместить все папки komra2 C# (си шарп) 3 13.03.2016 00:01
Из Паскаля в С (В одномерном массиве все отрицательные элементы переместить в начало массива, остальные в конец, сохраняя порядок) mail@gmai Помощь студентам 5 16.12.2015 18:26