Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/331.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何将LinkedHashSet转换为二维数组_Java - Fatal编程技术网

Java 如何将LinkedHashSet转换为二维数组

Java 如何将LinkedHashSet转换为二维数组,java,Java,我想将LinkedHashSet转换为2D整数数组 LinkedHashSet是使用Set和Arrays.asList()从已经可用的二维整数数组[n][3]构建的,删除了重复项 现在,如果例如[[10,14,-99],[10,99,-14],[14,99,-10][null]是一个LinkedHashSet 我想要 first[n][2]={ {10, 14}, {10, 99}, {14, 99}} 或 i、 e.将LinkedHashSet(其中每个节点包含3个整数作为信息字段)分成两个

我想将LinkedHashSet转换为2D整数数组

LinkedHashSet
是使用
Set
Arrays.asList()
从已经可用的二维整数
数组[n][3]
构建的,删除了重复项

现在,如果例如
[[10,14,-99],[10,99,-14],[14,99,-10][null]
是一个LinkedHashSet

我想要

first[n][2]={ {10, 14}, {10, 99}, {14, 99}}

i、 e.将
LinkedHashSet
(其中每个节点包含3个整数作为信息字段)分成两个整数数组,大小分别为
[n][2]
[n][1]


我想要一种在java中高效、简单的方法;我不认为java有任何内置方法可以将哈希集转换为2D数组。据我所知,您必须通过迭代HashSet来完成此操作。

我自己已经解决了此问题,代码如下所示

Let us given LinkedHashSet as Set<Set<Integer>> r the format is as given above;
让我们将LinkedHashSet设为Set r,格式如上所示;
首先转换大小为[r.size][3]的二维数组ar;然后实现以下代码

int i=0;
for(Set<Integer> set:r)
ar[i++] = s.toArray(new Integer[3])



 Then store this ar[n][3] value into two separate array First[n][2] and Second[n][2] using looping.  
inti=0;
用于(设置:r)
ar[i++]=s.toArray(新整数[3])
然后使用循环将该ar[n][3]值存储到两个单独的数组中,第一个是[n][2],第二个是[n][2]。

我能想到的唯一办法就是 使用临时字符串变量存储打印集,删除[,]
然后将其存储到数组中,这被认为是低效的,但可以工作。

你有什么?唯一真正做到这一点的方法是通过
LinkedHashSet
循环并直接使用数组的“愚蠢”方式。
int i=0;
for(Set<Integer> set:r)
ar[i++] = s.toArray(new Integer[3])



 Then store this ar[n][3] value into two separate array First[n][2] and Second[n][2] using looping.