操作比方說,我有個字節數組:字節[]在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函數,我應該知道(並且找不到任何有用的指南使用谷歌)。
謝謝!
操作比方說,我有個字節數組:字節[]在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函數,我應該知道(並且找不到任何有用的指南使用谷歌)。
謝謝!
裏有Arrays類的一些靜態方法(我不知道對的Dalvik/Android的可用性)
java.util.Arrays
包含了幾個輔助方法(sort()
,equals()
,fill()
,toString()
)。如果這還不夠,可以將byte
基元轉換爲Byte
對象(創建一個新陣列),並使用new ArrayList (Arrays.asList())
獲取一個集合,您可以使用java.util.Collections
中的許多方法來修改該集合。
如果你看一下RT之外,還有Commons Primitives:
共享基元提供收藏和實用程序專爲與原始類型而設計的庫。
另一種選擇是guava-libraries項目,有一些原語的支持,以及:
該項目包含幾個我們在我們無數的Java項目使用谷歌的核心Java庫。
java.util.Arrays
在標準API中有一些與數組相關的實用程序方法。來自Apache Commons Lang的ArrayUtils
還有更多。
但是請注意,Java沒有將數組切片的概念視爲「視圖」,即由這種方法返回的「數組的一部分」將始終是副本。
數組類在Android中可用。但是它沒有像kape123所要求的invert()或reverse()方法。但是,如果您正在使用Collections而不是數組,那麼Collections類確實具有此功能。 – 2010-03-30 15:39:15
因此,調用Arrays.asList將顯示有用;-) – Riduidel 2010-03-30 16:55:15