1. Java / Говнокод #7805

    +84

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    Query q;
          //для хэширования
    
          q =
             session.createQuery("select idElType from " + LinkToAtributeValue.class.getName()
             + " where idEl=" + idObject.toString());
    
          Vector<Integer> vec = new Vector<Integer>(q.list());
          int t;
          for(int i = 0; i < vec.size() - 1; i++) {
             t = vec.get(i);
             for(int j = i + 1; j < vec.size(); j++) {
                if(t == vec.get(j)) {
                   vec.remove(j);
                }
             }
          }

    "DISTINCT для трусов"
    или
    "Хорошего кода должно быть много"

    Запостил: maxt, 08 Сентября 2011

    Комментарии (4) RSS

    • "DISTINCT для трусов"
      и резинка от....
      Ответить
    • Мда... забиваем гвозди микроскопом
      Ответить
    • Автор не только про DISTINCT не слышал, но даже про сеты. Да что там сеты, даже про ArrayList.

      В итоге имеем DISTINCT со сложностью O(n^2) с синхронизацией потоков при каждом get, size и remove.
      Ответить
    • Это не будет работать правильно, если после i-го члена больше чем один дубликат. Во вложенном цикле надо идти от конца к i+1.
      Ответить

    Добавить комментарий