Хотя оба они действительно хороши, я склонен использовать первый пример, потому что его легче читать.
Меньше операций происходит в каждой строке с циклом while (), что упрощает код для новичка в коде, чтобы понять, что происходит.
Этот тип конструкции также позволяет мне группировать инициализации в общем месте (вверху метода), что также упрощает комментирование для меня и концептуализацию для того, кто читает его впервые.