Java 如何将LinkedHashSet转换为二维数组
我想将LinkedHashSet转换为2D整数数组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
是使用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.