はい、Java ではオブジェクト型の配列を使用できます。 Java の配列は、1 つの型の固定数の値を保持するコンテナーです。 配列の型は、Object などのオブジェクト型、またはその他のクラス型にすることができます。 たとえば、次のコードは、int、String、および別の Object 配列の 3 つの要素を含む Object 型の配列を作成します。
Object[] array = { 1, "Hello", new Object[]{ 3, 4, 5 } };
Stream API を使用してこの配列をフラット化するには、flatMap() メソッドを使用して配列内の各要素をストリームに変換し、すべてのストリームを 1 つのストリームに連結します。 その後、 toArray() メソッドを使用して、オブジェクトのストリームを目的の型の配列に変換できます。
オブジェクトの配列を平坦化するために flatten() メソッドを実装する方法の例を次に示します。
<pre>public static Integer[] flatten(Object[] inputArray) {
Stream<Object> stream = Arrays.stream(inputArray);
stream = stream.flatMap(o -> o instanceof Object[] ? flatten((Object[])o) : Stream.of(o));
Integer[] flattenedArray = stream.toArray(Integer[]::new);
return flattenedArray;
}
その後、次のように flatten() メソッドを使用できます。
Object[] array = { 1, 2, new Object[]{ 3, 4, new Object[]{ 5 }, 6, 7 } };
Integer[] flattenedArray = flatten(array);
結果の flattenedArray は、次の要素を含む整数の配列になります。 [1, 2, 3, 4, 5, 6, 7].
【解決方法】Java でオブジェクト型の配列を使用できますか?また、ストリーム API を使用してこの配列を平坦化するにはどうすればよいですか?