2010-03-30 59 views
0

操作比方說,我有個字節數組:字節[]在Java中

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

平臺是否有,我可以用這個陣中發揮功能 - 例如,如何將它反轉(得到4,3 ,2,1,0)?或者,如何翻轉它的一部分(2,1,0,3,4)?獲取數組的一部分(0,1,2,3)?

我知道我可以手動編寫函數,但我很好奇如果我在平臺中遺漏有用的util函數,我應該知道(並且找不到任何有用的指南使用谷歌)。

謝謝!

回答

2

裏有Arrays類的一些靜態方法(我不知道對的Dalvik/Android的可用性)

+0

數組類在Android中可用。但是它沒有像kape123所要求的invert()或reverse()方法。但是,如果您正在使用Collections而不是數組,那麼Collections類確實具有此功能。 – 2010-03-30 15:39:15

+0

因此,調用Arrays.asList將顯示有用;-) – Riduidel 2010-03-30 16:55:15

1

java.util.Arrays包含了幾個輔助方法(sort()equals()fill()toString())。如果這還不夠,可以將byte基元轉換爲Byte對象(創建一個新陣列),並使用new ArrayList (Arrays.asList())獲取一個集合,您可以使用java.util.Collections中的許多方法來修改該集合。

如果你看一下RT之外,還有Commons Primitives

共享基元提供收藏和實用程序專爲與原始類型而設計的庫。

另一種選擇是guava-libraries項目,有一些原語的支持,以及:

該項目包含幾個我們在我們無數的Java項目使用谷歌的核心Java庫。

1

java.util.Arrays在標準API中有一些與數組相關的實用程序方法。來自Apache Commons Lang的ArrayUtils還有更多。

但是請注意,Java沒有將數組切片的概念視爲「視圖」,即由這種方法返回的「數組的一部分」將始終是副本。