【问题标题】:ArrayList of Boolean Array布尔数组的 ArrayList
【发布时间】:2015-09-27 22:06:54
【问题描述】:

我有很多布尔数组,我想将它们保存在一个数组列表中,以便我可以通过这个数组列表访问它们。

public static boolean one[] = { false, false, false,false,false,false,false,false,false,false,false
};
public static boolean two[] = { false, false, false,false,false,false,false,false,false,false,false
};

ArrayList myImage; // 对于普通对象'

当我尝试 ArrayList myBooleans; // 它不工作 .等等

我想要一个包含所有这些数组的数组列表。

任何帮助将不胜感激。

【问题讨论】:

  • 不工作是什么意思?
  • 您无法创建原始类型列表。你应该使用包装类。对于booleanBoolean
  • Create an Array of Arraylists 的可能重复项
  • 定义:它不工作
  • ArrayList<boolean[]> myBooleans = new ArrayList<boolean[]>(); 应该可以毫无问题地为您工作

标签: java android arrays arraylist boolean


【解决方案1】:

使用稀疏矩阵,您的存储看起来几乎是相同的值。

您可以创建布尔数组列表,但不能为原始布尔值创建。 大量的内存浪费和最好的方法是使用数组或稀疏数组[数组只有真值位置]

【讨论】:

  • 我将它从原始类型更改为布尔类型,将 int 更改为 Integer 并检查文件的大小它没有太大区别
  • 稀疏 Mtx 不同于将基元更改为对象。例如,如果您有一个 100 int/Integer 的数组,并且 99 个值为 0,而只有一个值为 5,那么在此示例中,将其存储为 100 int 的数组并不好,您可以将其存储为非零元素值和位置,如 [5][89][76],单个值表示 100 个整数的数组。
  • 谢谢。但我不明白 [5][89][76] 如何代表整个数组。
  • 很简单,假设我们需要存储一个包含 100 个 int 值的数组,其中 99% 的时间值为 0,我们只能将非零元素值及其位置存储在虚数组中。这仅适用于大多数值相同的情况(例如 0、真/假)
猜你喜欢
  • 2015-11-10
  • 1970-01-01
  • 2017-11-22
  • 2020-06-07
  • 2015-01-07
  • 1970-01-01
  • 2017-02-13
  • 2014-07-12
  • 1970-01-01
相关资源
最近更新 更多