Операции byte [] в Java - PullRequest
       9

Операции byte [] в Java

0 голосов
/ 30 марта 2010

Допустим, у меня есть массив байтов:

byte[] arr = new byte[] { 0, 1, 2, 3, 4 };

Есть ли в платформе функции, которые я могу использовать для работы с этим массивом - например, как его инвертировать (получить 4,3,2,1,0)? Или, как инвертировать его часть (2,1,0,3,4)? Получить часть массива (0,1,2,3)?

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

Спасибо!

Ответы [ 3 ]

2 голосов
/ 30 марта 2010

В классе Arrays есть несколько статических методов (о которых я не знаю, доступно ли на dalvik / android)

1 голос
/ 30 марта 2010

java.util.Arrays имеет несколько утилит, связанных с массивами, в стандартном API. ArrayUtils от Apache Commons Lang имеет гораздо больше.

Обратите внимание, однако, что в Java нет понятия кусков массива как «представлений», то есть «часть массива», возвращаемая таким методом, всегда будет копией.

1 голос
/ 30 марта 2010

java.util.Arrays содержит несколько вспомогательных методов (sort(), equals(), fill(), toString()). Если этого недостаточно, вы можете преобразовать примитив byte в объект Byte (создать новый массив) и использовать new ArrayList (Arrays.asList()), чтобы получить коллекцию, которую можно изменить многими методами из java.util.Collections.

Если вы посмотрите за пределы РТ, есть Commons Primitives :

Commons Primitives предоставляет библиотеку коллекций и утилит, специально разработанных для использования с примитивными типами.

Другим вариантом является проект guava-library , который также поддерживает некоторые примитивы:

Этот проект содержит несколько основных библиотек Java Google, которые мы используем в наших бесчисленных проектах Java.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...