2017-11-28 21 views
0

私は誰かがこの質問を既に聞いていたと思います。ArrayList。 1つのインデックスに文字列値を結合する

私はランダムな文字列値のArrayListを持っているので、これらの値を別のArrayListに入れて1つのインデックスに入れる必要があります。

例:

私は

{ "hey","how","are","you"} 

を持っていると私はそれ

{"Hey how are you"} 

をする必要があるが参加したり、なめらかなコマンドのいくつかの種類がありますか?同じインデックスに別のString値を追加しようとしましたが、置き換えられただけです。

+1

試しましたか? – haifzhan

+0

StackOverflowの質問については、より具体的にしてください。試したコードを正確に表示し、何が起きているのかを説明してください。この質問に10分以内に5つの答えがあるという事実は、この質問の質をよく表していません。編集:そして今は8です。人々は行く!その甘いカルマを手に入れよう! – DavidS

+0

私はStringJoinerの方法を試して、それはもちろん働いた。その人に感謝します。私はちょうどプログラミングを始めました、なぜ私は正しい答えを見つけることができませんでした。 –

答えて

2

使用できるに参加しますそのソリューションのStringJoiner (Javaの8以降)それを行うには

List<String> list = List.of("hey", "how", "are", "you"); 
    StringJoiner joiner = new StringJoiner(" "); 
    list.forEach(str -> joiner.add(str)); 
    System.out.println(joiner.toString()); // hey how are you 
    // and if you want the final result to be in a list 
    // Java 9: 
    list = List.of(joiner.toString()); 
    // anything before Java 9 
    list = Arrays.asList(joiner.toString()); 

別(シンプルな)方法:

List<String> mainList = new ArrayList<>(); //The one to contain all Strings from yourList 
List<String> yourList = Arrays.asList("Hey", "how", "are", "you"); //The list of Strings 

StringJoiner joiner = new StringJoiner(" "); //Space as delimiter, strings will be separated with spaces 
for (String s : yourlist) { 
    joiner.add(s); 
} 
mainList.add(joiner.toString()); //Add the new concatenated String to your list, in a single string 
0

使用StringBuilderは、複数の文字列

StringBuilder sb = new StringBuilder(); 
listA.forEach(item -> sb.append(item)); 

listB.add(sb.toString()); 
2

のJava 8は、正確に何をしたいんStringJoinerクラスを(次のコードは、Java 9である)を追加しました:

String.join(" ", list) 
+1

downvoter - コメントしますか? – alfasin

+2

OPは何の努力もしておらず、私はそれに答える以外に質問を閉じるため投票するべきだと思う。 – haifzhan

+4

@haifzhanお返事ありがとうございます。これは答えを下降させる良い理由ではありません。下向き矢印の上にマウスを置くと、「この回答は役に立たない」というツールチップが表示されます。だから、*質問*が問題であると思っても、答えを捨てるべき理由ではないはずです。答えを落とす唯一の正当な理由は、それが有用でない場合です! – alfasin

0

一つの解決策のようなものになります:

List<String> result = new ArrayList<>(Arrays.asList(myList.stream().collect(Collectors.joining(" ")))); 
関連する問題