作者LaPass (LaPass)
看板java
标题[问题] 不定长度的byte阵列该怎麽放?
时间Tue Jun 23 11:05:20 2015
需要针对byte阵列做运算
要作的动作很简单
1.把所有的0x01替换成0x0101
2.把所有的0x00替换成0x01
我打算用个回圈去处理
由於在算完前不知道生成的byte的阵列长度
所以大概需要一个像是StringBuilder之类的东西来放生成到一半的byte
请问该用什麽样的容器物件去放比较好?
我直觉上会用 ArrayList<Byte>
但怕boxing unbox影响效能
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 125.227.87.115
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/java/M.1435028724.A.5E2.html
1F:→ ssccg: 这个需求直接allocate两倍长度的buffer就好了吧 06/23 11:26
2F:→ ssccg: StringBuilder底层也只是满了就重新allocate两倍长度的 06/23 11:28
3F:→ ssccg: buffer,没什麽特别的 06/23 11:31
4F:→ ssccg: 如果要类似的,那就是 ByteArrayOutputStream 06/23 11:33
5F:推 Killercat: 用stream啊..... 06/23 12:04
6F:→ Killercat: 这需求很有趣 刚好stream或者java8的stream都能用 06/23 12:05
7F:→ Killercat: "Processing Data with Java SE8 Streams" Oracle官方 06/23 12:06
8F:→ Killercat: 容器来讲我会建议用ByteArrayOutputStream 06/23 12:06
9F:→ Killercat: 方法我会建议用Java 8的Stream XD 06/23 12:07
10F:→ Killercat: (不过两个没办法和在一起啦) 06/23 12:07
11F:→ LaPass: 了解,感谢建议 06/23 13:29