- 1
foos.removeAll(Collections.singleton(null));
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+69
foos.removeAll(Collections.singleton(null));
foos.remove(null)?не, не наш метод.
someone 02.08.2013 23:25 # +2
Lure Of Chaos 03.08.2013 04:37 # −1
inkanus-gray 03.08.2013 16:48 # +6
3.14159265 05.08.2013 15:15 # 0
1024-- 03.08.2013 18:48 # +5
(Если погуглить "как сварить часы" в кавычках, находится только эта страница. Видимо, здесь знают толк в варке часов.)
LispGovno 03.08.2013 20:59 # +1
anonimb84a2f6fd141 03.08.2013 21:10 # 0
Lure Of Chaos 03.08.2013 21:29 # 0
bot 03.08.2013 22:58 # 0
1024-- 03.08.2013 23:52 # +1
Если воспринимать рецепты блюд как скрипты для поваров, то, наговнокодив в них, можно неплохо навредить.
Взять хотя бы тот случай, когда забыли написать, что в кастрюлю надо налить воды перед варкой сгущёнки, и пришлось изымать из продажи все экземпляры книги с рецептами.
eth0 04.08.2013 19:34 # +5
govnomonad 05.08.2013 08:21 # 0
JetBlack 09.08.2013 14:05 # 0
bormand 09.08.2013 19:03 # 0
kegdan 09.08.2013 20:38 # 0
А еще какая нибудь польза от Collections.singleton() есть, или только дыры затыкать?
Мне, как человеку непосвященному, кажется что Collections.singleton(X) это не очень нужная обвертка для X
JetBlack 11.08.2013 13:00 # 0
kegdan 13.08.2013 01:56 # +1
3.14159265 12.08.2013 13:51 # 0
Каждый раз создается лишний промежуточный объект с null. Константа - лучше.
2 bormand
>Забавно, но почему-то у коллекции нет метода removeAll с одним элементом, а не с коллекцией
>removeAll с одним элементом
Узко мыслите. Нужен с массивом/вараргом.
3.14159265 12.08.2013 14:03 # +1
Хотя, возможно, я чутка погорячился с универсальностью.
Проблема в том если делать качественное удаление по массиву - надо проверять длину и если больше N, то всё-равно создавать Set для пущей эффективности. Чтобы отсечь возможные дубликаты, и не получить полный скан O(len(arr)*len(coll)).
Для одного элемента - разумно. А больше, то сам сделай какую считаешь нужным коллекцию с быстрым contains() и удоляй.
JetBlack 12.08.2013 14:26 # 0