Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 17.12.2011, 03:45
Аватар для Slawaq
Профессор
Отправить личное сообщение для Slawaq Посмотреть профиль Найти все сообщения от Slawaq
 
Регистрация: 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.*
Ответить с цитированием
  #2 (permalink)  
Старый 17.12.2011, 07:24
Аватар для B@rmaley.e><e
⊞ Развернуть
Отправить личное сообщение для B@rmaley.e><e Посмотреть профиль Найти все сообщения от B@rmaley.e><e
 
Регистрация: 11.01.2010
Сообщений: 1,810

JavaScript и Java совершенно разные языки. И за помощью по второму нужно идти на специализированные форумы, а не сюда.
Сообщение от Slawaq
вот, как возможно такое организовать без больших потерь эффективности?
Нужно не удалять элемент, а перезаписывать его null'ом. А при вставке просто искать первый элемент со значением null (O(N) по времени), либо хранить эти индексы в стеке, добавляя индекс туда при удалении (O(N) по памяти).
Сообщение от Slawaq
Или хотя бы скажите где можно взять исходники класса ArrayList, возможно на их основе я сделаю себе некий костыль чтобы с ним можно было так работать
Зачем Вам исходники ArrayList? Вам вполне хватит его интерфейса.
Ответить с цитированием
  #3 (permalink)  
Старый 17.12.2011, 10:17
Аватар для Slawaq
Профессор
Отправить личное сообщение для Slawaq Посмотреть профиль Найти все сообщения от Slawaq
 
Регистрация: 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.
Ответить с цитированием
  #4 (permalink)  
Старый 17.12.2011, 10:33
Аватар для Slawaq
Профессор
Отправить личное сообщение для Slawaq Посмотреть профиль Найти все сообщения от Slawaq
 
Регистрация: 19.05.2010
Сообщений: 187

Цитата:
лично фейсбушники на пхп сидят. ед мне нра java красивее чем пхп
ну ведь не на чистой сборке) на своем "моде" XHProf, и вот ещё прошлогодний топик на хабре, на тему фейсбушного PHP так что я думаю если и учить PHP, так это подразумевает учить ещё учение каких-либо хороших фреймворков для него)
__________________
java.Uprise.*
Ответить с цитированием
  #5 (permalink)  
Старый 17.12.2011, 10:55
Аватар для Slawaq
Профессор
Отправить личное сообщение для Slawaq Посмотреть профиль Найти все сообщения от Slawaq
 
Регистрация: 19.05.2010
Сообщений: 187

вот, вк, и то это старое, хотя я думаю мало что изменилось, но основное там для PHP, это "костыль" кэша, хотя работают с ним там по-ходу очень эффективно)) и да кстати, этот ArrayList который я тут хочу немного изменить нужен мне тоже для правильной реализации кэша)
__________________
java.Uprise.*
Ответить с цитированием
  #6 (permalink)  
Старый 17.12.2011, 11:16
Аватар для Slawaq
Профессор
Отправить личное сообщение для Slawaq Посмотреть профиль Найти все сообщения от Slawaq
 
Регистрация: 19.05.2010
Сообщений: 187

Сообщение от cic bio Посмотреть сообщение
меня больше пугает слово лучшими умами россии это что такое они атм наделали иисуси
Ну я помню что где-то читал, что это брат Павла(Николай) и ещё там по-ходу люди которые вместе с Николаем были победителями всероссийских олимпиад по информатике))
__________________
java.Uprise.*
Ответить с цитированием
  #7 (permalink)  
Старый 17.12.2011, 22:29
Аватар для B@rmaley.e><e
⊞ Развернуть
Отправить личное сообщение для B@rmaley.e><e Посмотреть профиль Найти все сообщения от B@rmaley.e><e
 
Регистрация: 11.01.2010
Сообщений: 1,810

Сообщение от Slawaq
Ну я помню что где-то читал, что это брат Павла(Николай) и ещё там по-ходу люди которые вместе с Николаем были победителями всероссийских олимпиад по информатике))
Да, Николай Дуров и Андрей Лопатин взяли абсолютное золото на международных студенческих соревнованиях по олимпиадному программированию ACM ICPC в 2000 и 2001-ом годах. Они оба имеют непосредственное отношение к Вконтакте.
Также вместе с ними на этих чемпионатах выступали Олег Етеревский и Виктор Петров. Они, если не ошибаюсь, с Вконтакте сейчас не связаны.
Вконтакте активно хантит нынешних победителей этих олимпиад. ЕМНИП, вся тройка студентов СПбГУ, получивших золотые медали на ACM ICPC 2011, работает там. Многообещающие студенты вылавливаются прямо в университете: несколько раз в год проходит чемпионат СПбГУ, который спонсируется угадайте кем.

Но вместе с тем, олимпиадное программирование весьма далеко от программирования промышленного. Когда решается сложная задача в ограниченное время ни о каких архитектурных изысках, конечно же, речи не идёт.
Ответить с цитированием
  #8 (permalink)  
Старый 17.12.2011, 23:27
Аватар для B@rmaley.e><e
⊞ Развернуть
Отправить личное сообщение для B@rmaley.e><e Посмотреть профиль Найти все сообщения от B@rmaley.e><e
 
Регистрация: 11.01.2010
Сообщений: 1,810

Bionical Magic, тут есть список задач с прошедших соревнований.
Ответить с цитированием
  #9 (permalink)  
Старый 22.12.2011, 13:45
Аватар для Shaci
:-/
Отправить личное сообщение для Shaci Посмотреть профиль Найти все сообщения от Shaci
 
Регистрация: 28.09.2009
Сообщений: 1,126

Сообщение от Slawaq Посмотреть сообщение
Для меня это была альтернатива PHP, который я знал немного, но не хотел нормально учить, так как эффективность в нём достигается за счёт различных фреймворков, и тому подобного(а значит после самого изучения языка приходилось тратить время на изучение этой кучи, и тем более сам понимаешь что это костыли)) а java отличный вариант, так как кросс-платформен, и быстр по-сравнению с PHP(Наверно, не хочу убеждать тех кто в это не поверит))))
в Java этих фреймворков, похоже, что еще больше, чем в PHP
Вероятно, просто Core Java не имеет никакой ценности
Ответить с цитированием
  #10 (permalink)  
Старый 22.12.2011, 16:19
Аватар для Shaci
:-/
Отправить личное сообщение для Shaci Посмотреть профиль Найти все сообщения от Shaci
 
Регистрация: 28.09.2009
Сообщений: 1,126

Сообщение от Shaci Посмотреть сообщение
в Java этих фреймворков, похоже, что еще больше, чем в PHP
Вероятно, просто Core Java не имеет никакой ценности
вообще знать надо всё. как мне кажется
и JS и PHP и Java
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
remove по индексам Viper jQuery 4 21.10.2011 22:44
Метод remove() в стандартном Array voyager ExtJS 11 08.09.2010 16:04