Без реального тестирования это может показаться, что Array.equals () - ваш друг.Чтобы создать строку, вы в конечном итоге создаете копию байтового массива в конструкторе String, затем вам необходимо декодировать юникод, который включает в себя создание декодера для кодировки Юникод по умолчанию и преобразование байтового массива в массив символов, а затемдолжны сделать равенства, что включает в себя итерацию по каждому символу в каждой из строк.
Таким образом, при вычислении типа O () вы уже должны прочитать каждый байт в массиве, чтобы выполнить преобразование в символ, поэтому я бы сказал, что сложность при преобразовании в String для равных равняется.
Обновление: учитывая комментарии, добавленные к вопросу, похоже, что вы получили строку и используете ее для сравнения с несколькими результатами в задании MapReduce.В этом случае кажется, что существует одно преобразование входной строки в байты, и они сравниваются с множеством байтовых массивов.Это кажется быстрее, чем оставить входную строку и преобразовать каждый байтовый массив, возвращенный в задании.