如何将LinkedHashSet转换为二维数组

时间:2012-05-30 05:28:43

标签: java

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

LinkedHashSet是使用array[n][3]Set从已有的2D整数Arrays.asList()构建的,删除了重复项。

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

我想要

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

second[n][1]={ {-99}, {-14}, {-10} }

即。 break LinkedHashSet(其中每个节点包含3个整数作为info字段)为两个大小为[n][2][n][1]的整数数组,如上例所示。

我想要一种有效且简单的方法在java中执行此操作。

3 个答案:

答案 0 :(得分:0)

我不认为java有任何内置方法将HashSet转换为2D数组。所以据我所知,你必须通过迭代HashSet来做到这一点。

答案 1 :(得分:0)

我自己解决了这个问题,代码如下。

Let us given LinkedHashSet as Set<Set<Integer>> r the format is as given above;

首先转换大小为[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.  

答案 2 :(得分:-1)

convert

我能想到的唯一方法是 使用临时字符串变量来存储打印的集合,删除[,] 然后将其存储到数组中,这被视为效率低下但工作正常。

相关问题