2016-11-03 5 views
-4
Map<String, EmailAddress> mapAliasAddress; 
     mapAliasAddress = Files.lines(Paths.get("emails.csv")) 
       .map(s->s.split(",")) 
       .collect(Collectors.groupBy(s->s[1], new EmailAddress(s->s[1],s->[0])));// first is the alias, second is the email address 

これは、私は、これはあなたがやりたいだろうと思い二つのパラメータ(別名とEMAIL_ADDRESS).stream()とコレクタでラムダ式を使用する正しい方法は何ですか?

enter image description here

enter image description here

+0

結果として何を得たいですか? –

+0

画像は投稿しないでください。コレクターズグループとは何ですか? – Tunaki

+0

構文が間違っていますcompliationエラー – Sheldon

答えて

2

に取るのEmailAddressオブジェクトクラスです:

Map<String, EmailAddress> mapAliasAddress; 
mapAliasAddress = Files.lines(Paths.get("emails.csv")) 
      .map(s->s.split(",")) 
      .collect(Collectors.toMap(s -> s[1], s -> new EmailAddress(s[1], s[0]); 
+2

リストに集めて 'Map 'として格納することはできません。 – Tunaki

+0

確かに:) –

+0

が正しくないことを訂正します。目的の出力がMapですが、collect()はリストを返します – Sheldon

関連する問題