ArrayList を文字列に効率的に変換する
プログラミングでは、多くの場合、ArrayList を文字列に変換する必要があります。各要素を手動で連結またはループするのは簡単そうに見えますが、非効率である可能性があります。この記事では、この変換を実行する最適な方法について説明します。
Java 8 の解決策: String.join()
Java 8 では String.join() メソッドが導入されました。は、文字列のリストを結合するための効率的なソリューションを提供します。このメソッドを使用するには、ArrayList を文字列のリストに変換する必要があります。これは、ストリーム マッピングを使用して行うことができます。
String listString = String.join(",", list.stream().map(Object::toString).collect(Collectors.toList()));
Custom Join Function
If ArrayList には文字列が含まれていません。カスタム結合関数は次の構文を使用して作成できます:
String listString = list.stream() .map(Object::toString) .collect(Collectors.joining(", "));
Thisこのアプローチでは、指定された区切り文字を使用して文字列を結合する結合コレクターを利用します。
パフォーマンスの比較
ベンチマークでは、String.join() が手動よりも大幅に高速であることが示されています。連結またはループ。次の表は、さまざまなリスト サイズの実行時間を比較しています。
List Size | String.join() | Manual Concatenation |
---|---|---|
1000 | 0.003 ms | 0.038 ms |
10000 | 0.004 ms | 0.466 ms |
100000 | 0.006 ms | 5.662 ms |
結論
ArrayList を文字列に効率的に変換するには、String.join() が推奨されるアプローチです。 Java 8 以降。手動連結よりもパフォーマンスが大幅に向上するため、大規模なリストに最適なソリューションとなります。
以上がJavaでArrayListを文字列に変換する最も効率的な方法は何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。