Задать вопрос
  • Java, что быстрее: примитивы или коллекции?

    @Wan-Derer Автор вопроса
    Сергей Горностаев, Bavashi, Денис Загаевский,
    Не так. Мне надо узнать есть ли в гостинице одинаковые постояльцы. Для этого я:
    - беру постояльца из 1 номера и сравниваю его с остальными (первый цикл);
    - беру постояльца из 2 номера и сравниваю его с остальными, исключая первый (второй цикл);
    - и т.д.
    Теперь, что значит "сравниваю"? Я должен сравнить его имя, отчество, фамилию, вес, возраст, девичью фамилию тёщи, кличку собаки соседа..... Это крайне долго и поэтому действительно проще попросить портье сделать поиск по номеру паспорта (каковой номер назначен исходя из всех перечисленных качеств), даже если портье придётся сначала пройти по всем номерам и эти паспорта составить. Ведь он пройдёт по номерам один раз, а вложенные циклы будет гонять уже у себя за стойкой (хотя до некоторых постояльцев ему-таки придётся сгонять, но это уже нюансы).
    Так было бы если бы в отеле жили объекты. НО это не наш случай!

    Наш случай - крольчатник. Все кролики находятся в клетках с открытой стенкой, мне не надо заходить в каждый номер и потом долго выяснять все интересующие детали. У меня все кролики - полные клоны одного родителя (примитивы!), а отличаются только номерком на ошейнике. Их "перебрать" очень легко и быстро. Я могу сделать это сам, а могу попросить портье. Он сделает то же самое, но с заполнением целой кучи ненужной документации. И что будет быстрее?
  • Java, что быстрее: примитивы или коллекции?

    @Wan-Derer Автор вопроса
    Сергей Горностаев, Нет, я этот вопрос не изучал. Мне интересен не поиск по хэшу вообще, а в данном конкретном случае. Мне интуитивно представляется что поиск по хэш-таблице будет не быстрее чем поиск по массиву int[]. Плюс есть накладные расходы, связанные с добавлением элемента в Set и они по моей оценке немаленькие.
  • Java, что быстрее: примитивы или коллекции?

    @Wan-Derer Автор вопроса
    Сергей Горностаев, Я отредактировал ответ, см. выше.
  • Java, что быстрее: примитивы или коллекции?

    @Wan-Derer Автор вопроса
    Видео смотреть не надо. Ссылка на комментарии, там код и суть спора.
    Исходная задача - определить есть ли в массиве повторяющиеся значения. И сравнивать надо не коллекции с примитивами вообще, а только скорость программы с использованием set и без.

    Добавлю. На случай если комментарии по ссылке не открываются, вот код:
    public static boolean containsDuplicates(int[] array) {
        Set<Integer> set = new HashSet<>();
        for(int item:array){
            if (!set.add(item)) return true;
        }
        return false;
    }


    Я думаю что он будет медленнее чем перебор массива двумя вложенными циклами. Но строго обосновать не могу. А как думаете вы? Только объясняйте по-простому если можно :)
  • Java, сортировка строк. Как правильно?

    @Wan-Derer Автор вопроса
    Денис Загаевский, Главный вопрос - почему не работает сортировка с моим компаратором из первого сообщения. Сам компаратор работает как надо, т.е. выдаёт отрицательный/нулевой/положительный int именно так как мне надо. Но если я скармливаю его сортировщику, то сортировка происходит по стандартному для строк алгоритму.
    Если на примерах, то массив
    {"abcd32", "efg1", "abcd4"}
    должен превратиться в
    {"abcd4", "abcd32", "efg1"}
  • Java, сортировка строк. Как правильно?

    @Wan-Derer Автор вопроса
    Bavashi, azerphoenix, Денис Загаевский,
    метод указанный мной удалит все буквы abcd efg и т.д. и отсортирует числа 1 и 32

    Ну да. А надо-то чтобы именно строки целиком сортировались, а не по окончаниям.
    Т.е. {"abcd32", "efg1"} должны остаться в этом же порядке т.к. 'a' < 'e'.
  • Java, сортировка строк. Как правильно?

    @Wan-Derer Автор вопроса
    Как тут ответить всем? :)
    Надеюсь, увидите. Мне не годится парсить строки в числа т.к., как говорил, это строки, содержащие числовые окончания, т.е. это может быть:
    "abcd32", "abcd1"...
    или в более общем случае:
    "abcd32", "efg1"...
    Для первого варианта можно выделять числовую часть и сортировать по ней, для второго уже нельзя.

    Мне больше интересно почему не работает сортировка с моим компаратором, который сравнивает-то правильно!

    ЗЫ: ваш код я посмотрю чуть позже, сейчас с телефона неудобно :)
  • Как развернуть Java приложение на сервере?

    @Wan-Derer
    Дабы не плодить одинаковые темы, можно я спрошу здесь? :)
    Изучаю java и хочу тренироваться в создании серверов не только на своём компе, но и в интернетах. Есть у меня арендованный виртуальный сервер (не VPS), хостер Majordomo (если это важно).
    Есть доступ по FTP и SSH. Могу ли я натянуть туда Java (я так понимаю, нужен сервер приложений) для своих опытов? Или надо просить админов? Или это вообще невозможно для виртуального сервера и надо брать VPS?
    А если можно - мне бы инструкцию для самых маленьких :)
  • Шилдт. Какое руководство по Java выбрать новичку?

    @Wan-Derer Автор вопроса
    jonol, Да, я тоже иду по этому самоучителю и параллельно по видео-курсу на stepik.org
    Получается взаимное дополнение/закрепление материала
  • Шилдт. Какое руководство по Java выбрать новичку?

    @Wan-Derer Автор вопроса
    Strannyk,

    Это?
    Java. Библиотека профессионала. Кей Хорстманн
  • Шилдт. Какое руководство по Java выбрать новичку?

    @Wan-Derer Автор вопроса
    Максим Пономаренко, Да, я полистал электронную версию и пришёл к такому же выводу: это справочник, к которому стоит обращаться по конкретным вопросам, когда в родной доке непонятно.
    Пока иду по самоучителю на одном украинском сайте (блин, не знаю можно ли здесь ссылки), потом посмотрю бесплатный курс, который мне рекомендовали выше, а дальше будет видно :)

    И ещё такой момент: везде описывают сам язык, но пока не увидел как же сделать рабочую программу, которая будет запускаться автономно, без IDE. Понятно что это больше не к языку, а к самой IDE, но мне кажется, авторам курсов надо обратить внимание: очень важно иметь возможность сразу гонять приложение прямо в компе, пусть даже пока из терминала :)

    ЗЫ: второй день изучения и уже наткнулся на глюк в Scaner.nextInt() :/
  • Шилдт. Какое руководство по Java выбрать новичку?

    @Wan-Derer Автор вопроса
    Максим Пономаренко, Не, книги всё-таки нужны! Если бессистемно смотреть ролики/статьи, в голове будет каша. Нужен скелет, а отдельные материалы - уже для пояснения подробностей/тонкостей/нюансов :)
  • Шилдт. Какое руководство по Java выбрать новичку?

    @Wan-Derer Автор вопроса
    Roman, у, спасибо! Хоть он на первый взгляд и пожиже чем тот :) но тоже очень хорош! Для начала то что надо! А денежку лучше на книги потратить :)
  • Шилдт. Какое руководство по Java выбрать новичку?

    @Wan-Derer Автор вопроса
    Roman, Ок, спасибо :)
    Книги надо иметь и на бумаге, и электронные. Бумага хороша когда надо её впитать "от корки до корки". А электронная удобна чтобы обращаться к ней как к справочнику. Я сначала листаю электронную, если вижу что мне она будет сильно полезна - бегу за бумажной.
  • Шилдт. Какое руководство по Java выбрать новичку?

    @Wan-Derer Автор вопроса
    Roman, Я реалист и всё понимаю. 4 месяца - это срок, за который я планирую фкурить что же такое ООП и начать что-то писать на Java.
    На работу программистом устраиваться не собираюсь.
    ... но вопрос курсы против книг всё ещё беспокоит... бум думать
  • Шилдт. Какое руководство по Java выбрать новичку?

    @Wan-Derer Автор вопроса
    Araya, Я начал, поставил IDE, иду по самоучителю.
    Вопрос простой - брать книгу "для начинающих", а потом "полную" или сразу "полную"?
  • Шилдт. Какое руководство по Java выбрать новичку?

    @Wan-Derer Автор вопроса
    Ну я прежде чем здесь спросить пару дней фтыкал выдачу поисковиков. Вижу только то что почти все рекомендуют Шилдта, но этим и ограничиваются.
    Читать я умею, понимать тоже. Но поскольку темя для меня новая, я не могу пока понять что подходит именно для моего случая.