I am implementing the LZW algorithm. I have implemented it for strings and text files successfully and am currently modifying my code to work with binary files, such as images or executables (since I cannot read these files as strings).
I have replaced the String
type in my code with the ArrayList<Byte>
type. My code now compresses and decompresses binary files correctly, however it is at least 10x slower! This is unacceptable in a compression application where speed is a critical element.
Have I made the correct substitution of ArrayList<Byte>
for String
. Is there a faster alternative with similar functionality? Note that the LZW algorithm requires array resizing hence standard arrays[]
are not suitable.
Regards.