【问题标题】:I want to create a 2d static array with a special property where each element will be a hash map of a pair of elements?我想创建一个具有特殊属性的二维静态数组,其中每个元素都是一对元素的哈希映射?
【发布时间】:2023-03-13 21:08:01
【问题描述】:

任何人都可以建议我搜索的名称或要研究的特定代码的主题,因为我是高级 java 的新手。我想创建一个 2d 静态数组,其中每个元素将不仅仅是一个元素,而是一个由未知数量的元素组成的链,这些元素将成对出现,并且该链稍后可用于在其自身之间进行排序。 例如: a[2][2] 是静态二维数组; 在哪里

a[0][0]= { (1,2), (2,3), (4,3), (4,5), (3,1)};
a[0][1]= {(2,4), (1,1), (5,6)};
a[1][0]= {(2,6), (6,4)};
a[1][1]={(1,3), (6,4), (2,1), (4,2)};

【问题讨论】:

  • 换句话说,您需要一个二维数组,其外部数组大小为随机数,内部数组为随机数?
  • 不完全是,我需要做一个类似 3d 的图表,其中元素将是一对。例如。如果顶点 u,v 之间存在平行路径,并以一对成本值作为权重。那么如何在矩阵中表示。

标签: java arraylist hashmap


【解决方案1】:

您可以使用以下内容。

 ArrayList<int[]>[][] name = new ArrayList[5][5];

所以你有一个列表矩阵,它可以有任何长度。 每个列表都包含一个整数数组。

以下是一些从对象中填充和提取数字的示例:

@SuppressWarnings("unchecked") // this is for the compiler warning.
ArrayList<int[]>[][] matrix = new ArrayList[2][2];


int[] a = {1, 2};
int[] b = {3, 4};

// you will need serialise all the lists inside the ArraylistMatrix
matrix[0][0] = new ArrayList<>();
matrix[0][1] = new ArrayList<>();

matrix[0][0].add(a);
matrix[0][0].add(b); // matrix[0][0]= {(1,2), (3,4)}
matrix[0][1].add(a); // matrix[0][1]= {(1,2)}

int c = matrix[0][0].get(1)[1]; //this is 4

祝你好运

【讨论】:

  • 非常感谢。你能给我一个完整的代码吗?因为我是一个java新手,想探索更多。我将不胜感激。
  • @Nikolas 这是一个警告,它编译得很好。但我很好奇你有更好的答案吗?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-07-07
相关资源
最近更新 更多