我需要有一个容器来处理我在文件上写的几个整数,但为了最小字节,它必须是int
而不是Integer
的类型采取(32位)。我知道Arraylists
和Vectors
都不会占用int,那么有没有办法做到这一点?
答案 0 :(得分:1)
使用 int array ,用于存储原始int类型数据。
容器意味着对象,它包装原始数据并提供其他功能。因此,对于任何包装的int数据,容器实例将大于32位。
答案 1 :(得分:1)
如果您正在编写“最小压缩大小”,那么当程序对其进行操作时,数据占用的内存数量无关紧要:只需要在写出压缩文件时占用多少内存。使用盒装Integer
来初始操作数据是完全可以的。你只需要在编写文件时进行转换。
答案 2 :(得分:1)
有些集合库支持存储原始值,但它们不是标准Java库的一部分。
通常,您只需要其中一个用于特定性能或内存要求。如果你甚至没有编写你的程序,那么你可能并不需要它们。
你也可以使用IntBuffer,但这不会给你一个类似集合的界面。相反,它本质上是一个围绕字节缓冲区(或原始字节数组)的轻量级包装器,主要用于读写文件,网络套接字或与本机代码交互。
答案 3 :(得分:0)
如果你不应该使用简单的int [],你只是“不能”以一种简单的方式做到这一点..
int是基元而不是对象(作为整数)
答案 4 :(得分:0)
public class IntContaner {
public int intOne;
public int intTwo;
}
(但是,当然,你使用的任何东西都需要超过2x32位。)