0

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

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

现在,如果 eg[ [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} }

即打破LinkedHashSet(其中每个节点包含3个整数作为信息字段)成两个大小的整数数组,[n][2]如上[n][1]例所述。

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

4

3 回答 3

0

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

于 2012-05-30T05:47:02.037 回答
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.  
于 2012-06-25T07:20:59.987 回答
-1

兑换

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

于 2016-05-12T07:32:27.933 回答