17.12.2011, 03:45
|
|
Профессор
|
|
Регистрация: 19.05.2010
Сообщений: 187
|
|
Remove from ArrayList
Возможно ли организовать удаление элемента с ArrayList таким способом, чтобы при удалении не выполнялся arraycopy, и при этом не создавался новый массив, где на месте удалённого элемента будет новый, а чтобы при удалении значения оно становилось null, и при последующим добавлении элемента он становился на это место(ну на то место в этом массиве где-будет null)
то бишь чтобы такой код заработал:
Код:
|
java.util.ArrayList<String> x = new java.util.ArrayList<String>();
x.add("first");
x.add("second");
x.add("third");
for(String m:x) System.out.println(m);
/* Выведет нам :
first
second
third
*/
x.remove(1);
for(String m:x) System.out.println(m);
/* Выведет нам :
first
null
third
*/
x.add("fourth");
for(String m:x) System.out.println(m);
/* Выведет нам :
first
fourth
third
*/ |
вот, как возможно такое организовать без больших потерь эффективности?
Или хотя бы скажите где можно взять исходники класса ArrayList, возможно на их основе я сделаю себе некий костыль чтобы с ним можно было так работать
__________________
java.Uprise.*
|
|
17.12.2011, 07:24
|
|
⊞ Развернуть
|
|
Регистрация: 11.01.2010
Сообщений: 1,810
|
|
JavaScript и Java совершенно разные языки. И за помощью по второму нужно идти на специализированные форумы, а не сюда.
Сообщение от Slawaq
|
вот, как возможно такое организовать без больших потерь эффективности?
|
Нужно не удалять элемент, а перезаписывать его null'ом. А при вставке просто искать первый элемент со значением null (O(N) по времени), либо хранить эти индексы в стеке, добавляя индекс туда при удалении (O(N) по памяти).
Сообщение от Slawaq
|
Или хотя бы скажите где можно взять исходники класса ArrayList, возможно на их основе я сделаю себе некий костыль чтобы с ним можно было так работать
|
Зачем Вам исходники ArrayList? Вам вполне хватит его интерфейса.
|
|
17.12.2011, 10:17
|
|
Профессор
|
|
Регистрация: 19.05.2010
Сообщений: 187
|
|
Цитата:
|
JavaScript и Java совершенно разные языки. И за помощью по второму нужно идти на специализированные форумы, а не сюда.
|
На главной форуме было написано "Вопросы по PHP, Ruby, Java и другим серверным языкам и технологиям. Взаимодействие сервера с Javascript." тем более этот форум является таковым где могут быстро ответить, так что я решил и тут создать такую тему)
Цитата:
|
Зачем Вам исходники ArrayList? Вам вполне хватит его интерфейса.
|
Да, феил, я как-то поторопился и забыл что нужно так(
Цитата:
|
Нужно не удалять элемент, а перезаписывать его null'ом.
|
Ну так, в ArrayList, например, при 10 заполненных элементах есть массив на 15 элементов, где последние 5 это null, но они не отображаются.
Да, я же так и хочу, чтобы при удалении из этого 15-элементного массива, его размер не увеличился, а чтобы лишь тот элемент что я удаляю поменял свое значение на null, а при добавлении, цикл перебирал элементы и находил те элементы которые null и перезаписывал их на указанное значение, при этом возвращая индекс в который он записал указанное значение. Просто я думал может что-то такое готовое уже есть, ну если вдруг)) если нету то сейчас буду делать))
Цитата:
|
Slawaq,
B@rmaley.e><e,
из любопытства на хрена вы учили java?
|
Для меня это была альтернатива PHP, который я знал немного, но не хотел нормально учить, так как эффективность в нём достигается за счёт различных фреймворков, и тому подобного(а значит после самого изучения языка приходилось тратить время на изучение этой кучи, и тем более сам понимаешь что это костыли)) а java отличный вариант, так как кросс-платформен, и быстр по-сравнению с PHP(Наверно, не хочу убеждать тех кто в это не поверит))))
__________________
java.Uprise.*
Последний раз редактировалось Slawaq, 17.12.2011 в 10:21.
|
|
17.12.2011, 10:33
|
|
Профессор
|
|
Регистрация: 19.05.2010
Сообщений: 187
|
|
Цитата:
|
лично фейсбушники на пхп сидят. ед мне нра java красивее чем пхп
|
ну ведь не на чистой сборке) на своем "моде" XHProf, и вот ещё прошлогодний топик на хабре, на тему фейсбушного PHP так что я думаю если и учить PHP, так это подразумевает учить ещё учение каких-либо хороших фреймворков для него)
__________________
java.Uprise.*
|
|
17.12.2011, 10:55
|
|
Профессор
|
|
Регистрация: 19.05.2010
Сообщений: 187
|
|
вот, вк, и то это старое, хотя я думаю мало что изменилось, но основное там для PHP, это "костыль" кэша, хотя работают с ним там по-ходу очень эффективно)) и да кстати, этот ArrayList который я тут хочу немного изменить нужен мне тоже для правильной реализации кэша)
__________________
java.Uprise.*
|
|
17.12.2011, 11:16
|
|
Профессор
|
|
Регистрация: 19.05.2010
Сообщений: 187
|
|
Сообщение от cic bio
|
меня больше пугает слово лучшими умами россии это что такое они атм наделали иисуси
|
Ну я помню что где-то читал, что это брат Павла(Николай) и ещё там по-ходу люди которые вместе с Николаем были победителями всероссийских олимпиад по информатике))
__________________
java.Uprise.*
|
|
17.12.2011, 22:29
|
|
⊞ Развернуть
|
|
Регистрация: 11.01.2010
Сообщений: 1,810
|
|
Сообщение от Slawaq
|
Ну я помню что где-то читал, что это брат Павла(Николай) и ещё там по-ходу люди которые вместе с Николаем были победителями всероссийских олимпиад по информатике))
|
Да, Николай Дуров и Андрей Лопатин взяли абсолютное золото на международных студенческих соревнованиях по олимпиадному программированию ACM ICPC в 2000 и 2001-ом годах. Они оба имеют непосредственное отношение к Вконтакте.
Также вместе с ними на этих чемпионатах выступали Олег Етеревский и Виктор Петров. Они, если не ошибаюсь, с Вконтакте сейчас не связаны.
Вконтакте активно хантит нынешних победителей этих олимпиад. ЕМНИП, вся тройка студентов СПбГУ, получивших золотые медали на ACM ICPC 2011, работает там. Многообещающие студенты вылавливаются прямо в университете: несколько раз в год проходит чемпионат СПбГУ, который спонсируется угадайте кем.
Но вместе с тем, олимпиадное программирование весьма далеко от программирования промышленного. Когда решается сложная задача в ограниченное время ни о каких архитектурных изысках, конечно же, речи не идёт.
|
|
17.12.2011, 23:27
|
|
⊞ Развернуть
|
|
Регистрация: 11.01.2010
Сообщений: 1,810
|
|
Bionical Magic, тут есть список задач с прошедших соревнований.
|
|
22.12.2011, 13:45
|
|
:-/
|
|
Регистрация: 28.09.2009
Сообщений: 1,126
|
|
Сообщение от Slawaq
|
Для меня это была альтернатива PHP, который я знал немного, но не хотел нормально учить, так как эффективность в нём достигается за счёт различных фреймворков, и тому подобного(а значит после самого изучения языка приходилось тратить время на изучение этой кучи, и тем более сам понимаешь что это костыли)) а java отличный вариант, так как кросс-платформен, и быстр по-сравнению с PHP(Наверно, не хочу убеждать тех кто в это не поверит))))
|
в Java этих фреймворков, похоже, что еще больше, чем в PHP
Вероятно, просто Core Java не имеет никакой ценности
|
|
22.12.2011, 16:19
|
|
:-/
|
|
Регистрация: 28.09.2009
Сообщений: 1,126
|
|
Сообщение от Shaci
|
в Java этих фреймворков, похоже, что еще больше, чем в PHP
Вероятно, просто Core Java не имеет никакой ценности
|
вообще знать надо всё. как мне кажется
и JS и PHP и Java
|
|
|
|