У нас есть следующая конструкция, которая отвечает за чтение:
BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(System.in));
Входные данные представляют собой список интовых значений разделенных пробелом. Т.е. N строк, в которых K значений.
Необходимо прочитать максимально быстро.
Пробовал читать следующим образом:
BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(System.in));
while((String line = bufferedReader.readLine()) != null){
String[] strNums = line.trim().split("\\s+");
for (String strNum1 : strNums) {
if (strNum1.length() > 0) {
data[counter] = Integer.parseInt(strNum1);
counter++;
}
}
}
Данное решение показывает неудовлетворительную производительность. Подскажите пожалуйста, как прочитать входные данные быстрее?
Можно использовать сканер.
Для считывания из консоли нужно использовать new Scanner(System.in)
:
import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
String input = "1 2 3\n4 5 6\n7 8 9";
List<Integer> items = new ArrayList<>();
try (Scanner s = new Scanner(input)) {
while (s.hasNextInt()) {
items.add(s.nextInt());
}
}
System.out.println(items);
}
}
Результат:
[1, 2, 3, 4, 5, 6, 7, 8, 9]
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
Доброго времени суток! Как на JavaFX сделать окно Window 2 внутри главного окна Window 1? Те
У меня такая задача, нужно через определенные отрезки времени обмениваться с сайтом информацией и в силу свое малого познания android я делаю...
Одно приложение стучится в другое и получает REST-ответ в виде JSON