Eclipse приостанавливается при отладке say & ldquo; запись в сортировку метода в ArrayList & rdquo; [Дубликат]

. Лучшим подходом для такого примера будет понимание списка

somelist = [tup for tup in somelist if determine(tup)]

. В тех случаях, когда вы делаете что-то более сложное, чем вызов функции determine Я предпочитаю создавать новый список и просто добавлять к нему, когда я иду. Например

newlist = []
for tup in somelist:
    # lots of code here, possibly setting things up for calling determine
    if determine(tup):
        newlist.append(tup)
somelist = newlist

Копирование списка с помощью remove может сделать ваш код немного чище, как описано в одном из ответов ниже. Вы должны определенно не делать этого для чрезвычайно больших списков, поскольку это включает в себя первое копирование всего списка, а также выполнение операции O(n) remove для каждого удаляемого элемента, что делает этот алгоритм O(n^2).

for tup in somelist[:]:
    # lots of code here, possibly setting things up for calling determine
    if determine(tup):
        newlist.append(tup)

0
задан nbanic 11 May 2014 в 09:03
поделиться

2 ответа

Это не похоже на ошибку. Вы запускаете приложение в отладчике или аналогичном инструменте разработки, который, как представляется, должен приостанавливать вашу программу в указанном месте либо точкой останова, либо правилом, например «остановить при создании экземпляра».

Вы должны проверить вашей среды. Запуск с простой пусковой установкой java не вызывает такой ошибки.

0
ответ дан Holger 24 August 2018 в 10:46
поделиться

Вы используете Eclipse, правильно?

У вас нет ошибки, просто точка останова метода . Проверьте левую полосу рядом с кодом. Там будет синий круг, с галочкой и стрелой.

У вас есть несколько вариантов:

  • Двойной щелчок, он должен уйти (и, конечно же, запустить перезапуск)
  • Щелкните правой кнопкой мыши, переключите: точка останова уходит
  • Щелкните правой кнопкой мыши, отключите: точка останова будет там, но не активна
  • Вместо отладки (кнопка зеленого багги) используйте Run (зеленая кнопка воспроизведения) - точки останова остаются там, где они есть, но не принимаются в acccount
  • , нажимая F8: точки останова остаются там, где они есть, выполнение продолжается до следующей точки останова
1
ответ дан ppeterka 24 August 2018 в 10:46
поделиться
Другие вопросы по тегам:

Похожие вопросы: