2011-01-27 5 views
38

У меня есть String[], который имеет как минимум 2 элемента.Java: есть ли простой способ выбрать подмножество массива?

Я хочу создать новый String[], который имеет элементы 1 через остальных. Итак .. в основном, просто пропуская первый.

Можно ли это сделать в одной строке? без труда?

ответ

81
Arrays.copyOfRange(array, 1, array.length); 

copyOfRange был добавлен в Java 1.6. Если ваш не уточненный с этим, вы можете использовать:

  • ArrayUtils.subarray(array, 1, array.length) от Apache commons-lang
  • System.arraycopy(..) - довольно недружелюбно с длинным списком парам.
+7

Конечный индекс является эксклюзивным –

+0

Угу. вопреки логике – Bozho

+0

Подождите, так значит, мне нужно +1 к .length? – NullVoxPopuli

12
String[] subset = Arrays.copyOfRange(originalArray, 1, originalArray.length); 

Смотрите также:

0

поток API может быть использован также:

String[] array = {"A", "B"}; 

Arrays.stream(array).skip(1).toArray(String[]::new); 
Смежные вопросы