Java中的int * not Integer *类型的容器

时间:2014-11-09 01:48:57

标签: java integer int containers

我需要有一个容器来处理我在文件上写的几个整数,但为了最小字节,它必须是int而不是Integer的类型采取(32位)。我知道ArraylistsVectors都不会占用int,那么有没有办法做到这一点?

5 个答案:

答案 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位。)