看板 java 關於我們 聯絡資訊
需要針對byte陣列做運算 要作的動作很簡單 1.把所有的0x01替換成0x0101 2.把所有的0x00替換成0x01 我打算用個迴圈去處理 由於在算完前不知道生成的byte的陣列長度 所以大概需要一個像是StringBuilder之類的東西來放生成到一半的byte 請問該用什麼樣的容器物件去放比較好? 我直覺上會用 ArrayList<Byte> 但怕boxing unbox影響效能 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 125.227.87.115 ※ 文章網址: https://www.ptt.cc/bbs/java/M.1435028724.A.5E2.html
ssccg: 這個需求直接allocate兩倍長度的buffer就好了吧 06/23 11:26
ssccg: StringBuilder底層也只是滿了就重新allocate兩倍長度的 06/23 11:28
ssccg: buffer,沒什麼特別的 06/23 11:31
ssccg: 如果要類似的,那就是 ByteArrayOutputStream 06/23 11:33
Killercat: 用stream啊..... 06/23 12:04
Killercat: 這需求很有趣 剛好stream或者java8的stream都能用 06/23 12:05
Killercat: "Processing Data with Java SE8 Streams" Oracle官方 06/23 12:06
Killercat: 容器來講我會建議用ByteArrayOutputStream 06/23 12:06
Killercat: 方法我會建議用Java 8的Stream XD 06/23 12:07
Killercat: (不過兩個沒辦法和在一起啦) 06/23 12:07
LaPass: 了解,感謝建議 06/23 13:29