
二つのリストを比べ、一致しない要素を任意の文字列に置き換える方法はありますか?
Streamを使用しない場合は以下のようにかけますが、何かかっこよくないです。
Java
1public class Main { 2 public static void main(String[] args) { 3 List<String> list1 = new ArrayList<>(); 4 list1.add("あ"); 5 list1.add("い"); 6 list1.add("う"); 7 list1.add("え"); 8 list1.add("お"); 9 10 List<String> list2 = new ArrayList<>(); 11 list2.add("あ"); 12 list2.add("き"); 13 list2.add("う"); 14 list2.add("え"); 15 list2.add("お"); 16 17 List<String> list3 = new ArrayList<>(); 18 19 for(int i = 0; i < list1.size(); i++) { 20 if(list1.get(i).equals(list2.get(i))) { 21 list3.add(list1.get(i)); 22 }else { 23 list3.add("一致しません"); 24 } 25 } 26 27 System.out.println(list3); 28 } 29}
実行結果
[あ, 一致しません, う, え, お]
Streamを使って書き換えるならどのようにかけますか??
わかる方がおられましたらご教授頂けますとありがたいです。

とりあえず自分の思ったように書き換えてみてはいかが?

回答1件
あなたの回答
tips
プレビュー