HashSet は、Java で提供される非常に一般的に使用されるコレクション クラスであり、非繰り返しで順序付けされていない一連の要素を格納できます。 HashSet を使用する場合、HashSet 内の要素を配列に変換する必要がある場合がありますが、この場合は HashSet が提供する toArray() メソッドを使用する必要があります。以下では、HashSet クラスの toArray() メソッドの使用法を詳細に説明し、いくつかの具体的なコード例も示します。
最初に、toArray() メソッドの定義を見てみましょう:
public Object[] toArray()
このメソッドは、HashSet オブジェクト内の要素を含む配列を返します。配列内の要素の順序注文されていません。返される配列型は Object[] であるため、他の型の配列にキャストする必要があります。 HashSet を指定された型の配列に変換したい場合は、パラメーターを指定して別の toArray() メソッドを使用する必要があります。これは次のように定義されています。
public <T> T[] toArray(T[] a)
このメソッドはパラメーター a を受け入れます。ターゲット配列に変換したいと考えています。配列 a の長さが HashSet のサイズより小さい場合、長さが HashSet のサイズに等しく、型が配列 a と同じ新しい配列を返します。配列 a の長さが HashSet のサイズより大きい場合、HashSet の要素は配列 a にコピーされ、残りの要素は null に設定されます。
以下では、toArray() の使用法を具体的なコード例とともに示します。
1. デフォルトの戻り値の型
HashSet<String> hashSet = new HashSet<>(); hashSet.add("apple"); hashSet.add("banana"); hashSet.add("orange"); Object[] array = hashSet.toArray(); for (Object obj : array) { System.out.print(obj + " "); } //输出结果:banana apple orange
を使用すると、追加した順序が「apple」、「banana」、「orange」であっても、実際の出力結果は「banana」であることがわかります。 " 、"apple"、"orange"、HashSet には順序がないため。
2. HashSet を文字列配列に変換する
HashSet<String> hashSet = new HashSet<>(); hashSet.add("apple"); hashSet.add("banana"); hashSet.add("orange"); String[] array = hashSet.toArray(new String[hashSet.size()]); for (String str : array) { System.out.print(str + " "); } //输出结果:banana apple orange
このメソッドを使用する場合、ターゲット配列の型を指定する必要があります。ここでは新しい String 型配列を使用し、配列の長さを指定します。 HashSet. サイズなので、すべての要素を収容できます。 toArray() メソッドは Object[] タイプの配列を返します。これは String[] タイプの配列にキャストする必要があります。
3. HashSet を整数配列に変換する
HashSet<Integer> hashSet = new HashSet<>(); hashSet.add(1); hashSet.add(2); hashSet.add(3); Integer[] array = hashSet.toArray(new Integer[hashSet.size()]); for (Integer num : array) { System.out.print(num + " "); } //输出结果:1 2 3
同様に、HashSet を整数配列に変換する必要がある場合は、ターゲット配列型として Integer[] 配列を使用する必要があります。配列の長さは HashSet のサイズとして指定されます。
上記の 3 つの例を通して、toArray() メソッドは HashSet で使用するのに非常に柔軟で便利であり、その使用法も非常にシンプルで明確であることがわかります。 。
以上がJavaドキュメントの解釈:HashSetクラスのtoArray()メソッドの使い方の詳細説明の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。