当前位置: 首页 > 面试题库 >

是否有比int Java List更长的时间?

邰德业
2023-03-14
问题内容

我似乎找不到List最大长度为longmax值的Java 。

是否List存在?

如果是这样,在哪里?


问题答案:

正如@afsantos所说,由于Java数组的限制,ArrayList该类固有地限于Integer.MAX_VALUE条目。

LinkedList 没有此限制,但是(尽管如此)昂贵:

  • 与基于数组表示形式的一个引用相比,每个条目都会产生2个引用加上对象标头大小的内存开销。

  • O(N)O(1)基于数组的列表相比,索引是一项操作。

这是指向Java库的链接,该库使用直接映射的内存和/或元素的编码来支持 大量 的内存中集合:

  • http://code.google.com/p/vanilla-java/wiki/HugeCollections

那里可能还有其他选择。

还可以设想常规数组列表的“大”变体,它使用数组的数组而不是单个数组。但是,如果您允许插入列表的中间,那么实现O(1)查找将变得困难/昂贵。(这可能就是为什么我无法在Google上找到示例的原因…)



 类似资料:
  • 问题内容: 我是处理这么多数据(2000万行)的新手,而且我不知道我对查询持续时间的期望是什么: 没有现场索引。这段陈述花了25分钟。数据库设置为简单恢复。25分钟似乎太长了吗?该表有9列,其中小数据类型<50 varchar。 问题答案: 如果您在一个事务中更新了2000万行,那么您的时间完全由IO子系统决定:您拥有哪种驱动器,磁盘文件的布局等等。如果RAID 40中有40个心轴,其中有4个平衡

  • 问题内容: 在编程课上,教授正在教我们有关和的信息,其中x是整数。 他说,在这种情况下,我们可以只将or或放进去,以提高效率(虽然有点,但从理论上讲,还是效率更高)。 但是我忘了为什么 。有谁知道?这是与Java。 问题答案: 在Java中效率不是更高。在递增/递减运算符可以重载的语言中,它可能会更有效,但在其他方面,性能则完全相同。 和之间的区别在于,返回的值 是递增之前的值,返回的值是递增之后

  • 有人能解释一下为什么下面带有setTimeout命令的脚本在Gresemonkey中的执行时间(400-500毫秒)比在火狐控制台(正好是100毫秒)长得多吗? 这很奇怪,因为如果我将切换为纯的,那么Gresemonkey和Firefox控制台都会以闪电般的速度执行它(〜10 ms)。

  • 问题内容: 一直困扰我的是Javascript中的方法多么不可预测。 根据我的经验,在很多情况下计时器都非常不准确。所谓不准确,是指实际延迟时间或多或少地相差250-500ms。尽管这不是很长的时间,但是使用它来隐藏/显示UI元素时,时间显然是显而易见的。 是否有任何技巧可以确保准确执行(无需借助外部API),或者这是一个失败的原因? 问题答案: 是否有任何技巧可以确保准确执行(无需借助外部API

  • 问题内容: 我想保存一个或数组。 我尝试与和一起使用,发现前者总是花费更少的时间。 我的实际数据要大得多,但在这里我仅展示一小段用于演示目的: 输出: 我的实际大小(字典中约有100,000个键)时差更加明显。 为什么在保存和加载时,泡菜比np.save花费的时间更长? 我什么时候应该使用? 问题答案: 因为只要书面对象不包含Python数据, numpy对象在内存中的表示方式比Python对象简

  • 问题内容: Servlet规范(请参阅我的上一个问题)保证同一线程将执行所有过滤器和关联的Servlet。鉴于此,如果可以使用a选项(假设您正确清理),我看不到使用传递数据有任何用处。我觉得使用有两个好处:类型安全和更好的性能,因为没有使用任何字符串键或映射(除非可能是通过(非字符串)线程id进入线程集合)。 有人可以确认我是否正确,以便我可以放弃吗? 问题答案: ThreadLocal是否比Ht