编程语言
首页 > 编程语言> > Java中的ArrayList与String

Java中的ArrayList与String

作者:互联网

我正在实现LZW算法.我已经成功地为字符串和文本文件实现了它,并且我正在修改我的代码以使用二进制文件,例如图像或可执行文件(因为我无法将这些文件作为字符串读取).

我已经使用ArrayList< Byte>替换了我的代码中的String类型类型.我的代码现在正确压缩和解压缩二进制文件,但它至少慢了10倍!在速度是关键因素的压缩应用中,这是不可接受的.

我是否正确替换了ArrayList< Byte>对于String.有类似功能的更快的替代方案吗?请注意,LZW算法需要调整数组大小,因此标准数组[]不合适.

问候.

解决方法:

使用List< Byte>将每个字节打包成一个单独的对象实例.
总的来说,这是你可以为性能做的最糟糕的事情之一.

相比之下,数组或字符串可以占用固体内存块.

相反,您应该使用ByteArrayOutputStream,或直接使用byte []并根据需要调整大小(您可以为此创建一个包装类)

标签:java,arraylist,string,lzw
来源: https://codeday.me/bug/20190612/1226555.html