0

Androidでレトロラムダを使用しています。

以下のコード(Java)のようなクラスが1つあります。

public class ContactListViewModel { public String DisplayName; public String PhoneNumber; }

そして、次のように値を返すメソッドがあります ArrayList<ContactListViewModel>

プロパティのみを選択しPhoneNumberたいのですが、配列に変換したいです。

アンドロイド:

ArrayList<ContactListViewModel> contactList = contactListService.GetContactList(getContext().getContentResolver());
    ArrayList<List> phoneList = contactList.stream().Select(l->l.PhoneNumber).ToArray(); 

以上、どうすればよいでしょうか?

C#のように

    class Program
{
    static void Main(string[] args)
    {
        List<ContactListViewModel> p = new List<ContactListViewModel>();
        var phoneNumberArr = p.Select(l => l.PhoneNumber).ToArray();
    }
}
public class ContactListViewModel
{
    public string DisplayName { get; set; }
    public string PhoneNumber { get; set; }
}

ありがとうございました。

4

1 に答える 1

0

私が見つけた

List<String> phoneList =  contactList.stream().map(arr->arr.PhoneNumber).collect(Collectors.toList());
于 2017-01-10T19:40:47.547 に答える