java - java如何存储数据结构

标签 java

我还没有找到任何好的答案,但是在数组等数据结构中,java是将对象存储在数组中还是指向所述对象的指针,

这是一个相关的示例,我有一个需要 50 个字节的对象,并且希望以两种不同的方式组织它,而不必在每次搜索之前对其进行排序,因此我将它放在 2 个数组中。假设指针为 2 字节,则需要 2*50*n 字节或 ((2*2)+50)*n

我知道这不准确,但如果 n 是 2000,那就很接近了

最佳答案

Java 中的所有对象都是通过引用处理的——当你有一个除基本数据类型之外的任何数组时,该数组只包含指针。不可能(就像在 C 中一样)构造一个存储值而不是引用的数组(或者任何其他类型的对象)。

因此,为了回答上面的示例,Java 数组占用 ((2*2)+50)*n 字节。 2*2*n 表示两个指针数组,n*50 表示您的对象。

关于java - java如何存储数据结构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5364045/

相关文章:

java - 在 java 中将 int[] 转换为 LinkedList<Integer> 最简单的方法?

java.io.FileNotFoundException : (Access is denied)

java - Internet Explorer 中的 Selenium + javascriptExecutor 问题

java - 什么是 "best practice"删除对功能的支持?

java - 每天将数百万条记录从 sql server 移动到 oracle

java - 无法转换项目 : C:\workspace_IntelliJ\Main\new-webapp\. idea\workspace.xml:第 1 行错误:序言中不允许内容

java - 根据应用程序在 jar 中加载 spring bean

java - 在 DAO 接口(interface)方法中声明或不声明 DataAccessException?

Java关于super的问题

java - java中Stack中的String Peek()方法