[问题] 不定长度的byte阵列该怎么放?

楼主: LaPass (LaPass)   2015-06-23 11:05:20
需要针对byte阵列做运算
要作的动作很简单
1.把所有的0x01替换成0x0101
2.把所有的0x00替换成0x01
我打算用个循环去处理
由于在算完前不知道生成的byte的阵列长度
所以大概需要一个像是StringBuilder之类的东西来放生成到一半的byte
请问该用什么样的容器物件去放比较好?
我直觉上会用 ArrayList<Byte>
但怕boxing unbox影响效能
作者: ssccg (23)   2015-06-23 11:26:00
这个需求直接allocate两倍长度的buffer就好了吧StringBuilder底层也只是满了就重新allocate两倍长度的buffer,没什么特别的如果要类似的,那就是 ByteArrayOutputStream
作者: Killercat (杀人猫™)   2015-06-23 12:04:00
用stream啊.....这需求很有趣 刚好stream或者java8的stream都能用"Processing Data with Java SE8 Streams" Oracle官方容器来讲我会建议用ByteArrayOutputStream方法我会建议用Java 8的Stream XD(不过两个没办法和在一起啦)
楼主: LaPass (LaPass)   2015-06-23 13:29:00
了解,感谢建议

Links booklink

Contact Us: admin [ a t ] ucptt.com