java-8 - C#लैम्ब्डा java 8 में सेलेक्ट करें




(2)

कहो कि मुझे C # में एक वस्तु है:

public class Person
{
    public string Name{get;set;}
    public int Age{get;set;}
}

C # इस सूची के नामों का चयन करने के लिए मैं निम्नलिखित कार्य करूंगा:

List<string> names = person.Select(x=>x.Name).ToList();

मैं जावा 8 में कैसे काम करूंगा?


Answers

यदि आपके पास व्यक्तियों की List<Person> persons; जैसे List<Person> persons; तुम कह सकते हो

List<String> names
  =persons.stream().map(x->x.getName()).collect(Collectors.toList());

या, वैकल्पिक रूप से

List<String> names
  =persons.stream().map(Person::getName).collect(Collectors.toList());

लेकिन एक List या अन्य Collection में Collection का इरादा केवल विरासत एपीआई के साथ उपयोग किया जाना है, जहां आपको इस तरह के Collection आवश्यकता है। अन्यथा आप स्ट्रीम के संचालन का उपयोग करते हुए आगे बढ़ेंगे क्योंकि आप एक Collection साथ सब कुछ कर सकते हैं और String एस के मध्यवर्ती भंडारण की आवश्यकता के बिना बहुत कुछ कर सकते हैं, जैसे।

persons.stream().map(Person::getName).forEach(System.out::println);

var results = from p in persons
              group p by p.PersonID into g
              select new { PersonID = g.Key,
                           /**/car = g.Select(g=>g.car).FirstOrDefault()/**/}




c# java java-8