- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
private List<String> tList = new ArrayList<String>();
...........
for (String refAttr : refAttrs) {
t = tag.getAttribute(refAttr);
if (!tList.contains(t))
if (isCorrect(t))
tList.add(t);
}
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+112
private List<String> tList = new ArrayList<String>();
...........
for (String refAttr : refAttrs) {
t = tag.getAttribute(refAttr);
if (!tList.contains(t))
if (isCorrect(t))
tList.add(t);
}
как-то позабыл я о Сетах
Lure Of Chaos 09.08.2010 17:35 # −1
Lure Of Chaos 09.08.2010 17:43 # +1
3.14159265 09.08.2010 18:30 # 0
как по мне - это тупость - равная использованию массива - и тупого перебора в нем циклом - вместо бинарного поиска или HashSeta.
когда в листе полно записей - код будет тормозить из-за
как по мне использование ArrayLista тут - это говно
3.14159265 09.08.2010 18:33 # 0
вот седня есть такая http://govnokod.ru/3920 и вчера была http://govnokod.ru/3911 итд
Lure Of Chaos 09.08.2010 20:22 # 0
3.14159265 10.08.2010 09:55 # 0
а после замены тупого перебора на Set с бинарным поиском общая скорость выросла в 2-2.5 раза
так что ИМХО - говно
Анонимус 10.08.2010 12:52 # +1
konsoletyper 10.08.2010 13:46 # +1
3.14159265 10.08.2010 17:08 # 0
бесспорно.
поэтому как я уже говорил http://govnokod.ru/3921#comment41949 использую [Set с бинарным поиском]
This implementation provides guaranteed log2(n) time cost for the <tt>containsKey</tt>, <tt>get</tt>, <tt>put</tt> and <tt>remove</tt>operations.
A начиная как раз с 5 элементов дерево оказывается быстрее
log2(5)<5/2 - теоретически конечно
>>>Вы еще и позабыли что структуры для хранения данных надо бы выносить в отдельные классы, а не вмазывать их в логику
Неплохая идея.