gpt4 book ai didi

java - 在 Java 中,哪个更好 - 三个 boolean 数组或 1 个字节数组?

转载 作者:行者123 更新时间:2023-11-29 08:18:13 24 4
gpt4 key购买 nike

我知道这个问题听起来很愚蠢,但考虑一下:我有一个 ints (1..N) 数组和一个标记算法。 int 表示的项目在任何时候都处于三种 状态之一。当前版本将这些状态保存在一个 byte 数组中,其中 0、1 和 2 代表三种状态。或者,我可以拥有三个 boolean 数组 - 每个状态一个。哪个更好(消耗更少的内存)取决于 jvm(sun 的版本)如何存储数组 - boolean 值是由 1 位表示的吗?幕后还有其他魔法发生吗? (附注:不要一开始就说“这不是 OO/Java 的工作方式”——我知道,但这里的性能是最重要的。再加上即使是这种形式,算法也很简单且可读性很好)。

非常感谢

最佳答案

不用两个 boolean 值或 1 个整数,只需使用一个 BitSet - http://java.sun.com/j2se/1.4.2/docs/api/java/util/BitSet.html

然后每个标签/状态可以有两位。而 BitSet 是一个标准的 java 类,您可能会获得良好的性能。

关于java - 在 Java 中,哪个更好 - 三个 boolean 数组或 1 个字节数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2623366/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com