程序包 org.hipparchus.util

类 MultidimensionalCounter

java.lang.Object
org.hipparchus.util.MultidimensionalCounter
所有已实现的接口:
Iterable<Integer>

public class MultidimensionalCounter extends Object implements Iterable<Integer>
在单维存储结构和多维概念结构之间进行转换。此实用程序将从多维结构中的索引转换为一维数组中对应的索引。例如,假设索引的范围(在3个维度中)分别为2、4和3,则以下对应关系,即3元组索引和一维索引之间的对应关系将成立:
  • (0, 0, 0) 对应于 0
  • (0, 0, 1) 对应于 1
  • (0, 0, 2) 对应于 2
  • (0, 1, 0) 对应于 3
  • ...
  • (1, 0, 0) 对应于 12
  • ...
  • (1, 3, 2) 对应于 23
  • 构造器详细资料

  • 方法详细资料

    • iterator

      public MultidimensionalCounter.Iterator iterator()
      创建此计数器的迭代器。
      指定者:
      iterator 在接口中 Iterable<Integer>
      返回:
      迭代器。
    • getDimension

      public int getDimension()
      获取多维计数器的维数。
      返回:
      维数。
    • getCounts

      public int[] getCounts(int index) throws MathIllegalArgumentException
      转换为多维计数器。
      参数:
      index - 一维计数器中的索引。
      返回:
      多维计数。
      抛出:
      MathIllegalArgumentException - 如果index不在0和由getSize()返回的值之间(不包括)。
    • getCount

      public int getCount(int... c) throws MathIllegalArgumentException
      转换为一维计数器。
      参数:
      c - 多维计数器中的索引。
      返回:
      一维计数器中的索引。
      抛出:
      MathIllegalArgumentException - 如果c的大小与构造函数中给定的数组的大小不匹配。
      MathIllegalArgumentException - 如果c的值不在对应维度的范围内,如构造函数中定义的那样。
    • getSize

      public int getSize()
      获取元素的总数。
      返回:
      一维计数器的总大小。
    • getSizes

      public int[] getSizes()
      获取每个维度中的多维计数器槽的数量。
      返回:
      每个维度中的多维计数器的大小。
    • toString

      public String toString()
      覆盖:
      toString 在类中 Object