3

私がしたい唯一のことは、配列(temp_X)をHashSetに入れることですが、HashSetのエラーが発生しました:HashSet(List)に適したコンストラクターが見つかりません

 public PSResidualReduction(int Xdisc[][], double[][] pat_cand, int k) {

        for (int i = 0; i < Xdisc.length; i++) {
            int[] temp_X;
            temp_X = new int[Xdisc[0].length];
            for (int s = 0; s < Xdisc[0].length; s++) {
                temp_X[s] = Xdisc[i][s];
            }
            HashSet<Integer> temp_XList = new HashSet<Integer>(Arrays.asList(temp_X));
        }

    }

どうすれば修正できますか?

4

2 に答える 2

3

Arrays#asListObjectは型配列を受け入れます。これは、使用されるすべての要素がプリミティブではなく型である必要があることを意味します。

Integer代わりに配列を使用します。

Integer[] temp_X;

これによりArrays#asList、ラッパー クラスに対して使用できるようになります。

HashSet<Integer> temp_XList = new HashSet<Integer>(Arrays.asList(temp_X));
于 2013-04-19T02:50:10.080 に答える
1

in Arrays.asList(temp_X); temp_Xは、プリミティブ型配列ではなく、オブジェクト配列でなければなりません。また、HashSet<T>プリミティブ型はサポートしていません。temp_X の各 int を変換しIntegerて temp_xList に 1 つずつ追加する必要があります。

于 2013-04-19T02:54:14.927 に答える