Я читаю набор целых чисел, разделенных пространством или новыми строками из стандарта в использовании Scanner(System.in)
.
Есть ли какой-либо более быстрый способ сделать это в Java?
Если Вы спрашивающий с конкурентоспособной точки зрения программирования, где, если представление не достаточно быстро, это будет ТЕЛ.
Затем, можно проверить следующий метод для получения Строки от System.in. Я взял от одного из лучшего кодера в Java (конкурентоспособные сайты)
private String ns()
{
int b = skip();
StringBuilder sb = new StringBuilder();
while(!(isSpaceChar(b))){ // when nextLine, (isSpaceChar(b) && b != ' ')
sb.appendCodePoint(b);
b = readByte();
}
return sb.toString();
}`
StringTokenizer
намного более быстрый способ входа строки чтения, разделенного маркерами.
Проверка ниже примера для чтения строки целых чисел, разделенных пространством и хранилищем в arraylist,
String str = input.readLine(); //read string of integers using BufferedReader e.g. "1 2 3 4"
List<Integer> list = new ArrayList<>();
StringTokenizer st = new StringTokenizer(str, " ");
while (st.hasMoreTokens()) {
list.add(Integer.parseInt(st.nextToken()));
}