2

我想根据性能建议哪个更好?

列表<字节[]>

或者

HashMap<String,byte[]>

对我来说,关键不重要。我将只在对象中存储 2 的列表大小。第一个代表一个常数,另一个代表另一个常数。

除了两种之外还有没有更好的解决方法也请建议我。

提前致谢。

4

4 回答 4

5

您如何将列表与地图进行比较?它们是完全不同的东西。此外,这取决于您执行的操作。

最后,您将具体实现(哈希图)与抽象接口(列表)进行比较。这是没有意义的。

如果您不需要密钥,则不需要地图。至于不同列表实现的性能,它们记录在 javadoc 中。

于 2012-04-25T14:11:13.933 回答
0
  1. 如果您没有键值关系,请不要使用映射。
  2. 不要将泛型与数组混合(例如List<byte[]>)。

如果两者不相关,则使用两个单独byte[]的变量,如果是,则使用byte[][](假设您不能这样做List<List<Byte>>)。

于 2012-04-25T14:10:50.287 回答
0

为什么不创建一个 pojo 类来保存这些值?

Class ConstantHolder {

  private final byte[] constant1;
  private final byte[] constant2;

  public Holder(byte[] constant1, byte[] constant2) {
    this.constant1 = constant1;
    this.constant2 = constant2;
  }

  getters for constants;

}
于 2012-04-25T14:15:02.967 回答
0

列表:
在以下情况下,列表垂直工作更快:

  1. 在开头和结尾添加一个新对象

  2. 在以下情况下,在开头和结尾删除List 在垂直方向上的工作速度较慢:
  3. 当它必须垂直搜索时,搜索会有点慢,因为对象是链接链表明智的。
  4. 在中间添加和删除。

HashMap:是一个map,可以通过key进行纵横搜索:

  1. 迭代器用于搜索并且添加速度很慢(如果适用于此检查唯一键)
  2. 删除速度很快
  3. 搜索速度很快
于 2012-04-25T14:25:35.410 回答