2017-05-02 56 views
-1

我有一個包含兩個成員的類以及該類的對象列表。現在我想從對象列表中提取成員列表。要使用Streams獲取對象列表中的成員列表java

e.g:

class student { 
     int Id; 
     String studentName; 
} 

現在我需要找回studentName的列表,從學生的名單。 java8 Streams如何做到這一點?

解決方案,而無需使用流:

List<student> studentList; 
List<String> nameList = new ArrayList<String>(); 
Iterator iterator = studentList.iterator(); 
while(iterator.hasNext()){ 
    nameList.add(iterator.next().getStudentName()); 
} 
+0

你嘗試它首先不使用'Streams'? – Sajjad

+0

請[編輯]你的問題,以顯示[迄今爲止的代碼](http://whathaveyoutried.com)。你至少應該包括一個你遇到問題的代碼大綱(但最好是[mcve]),然後我們可以嘗試幫助解決具體問題。你還應該閱讀[問]。 –

+0

是的。通過使用列表迭代器並運行一個循環。 – user3425563

回答

1

您需要使用Stream#map方法,像這樣:

List<Student> students = ...; 
List<String> names = students.stream().map(Student::getName).collect(toList()); 
+0

謝謝。它的工作原理是 – user3425563

+0

@ user3425563,如果您覺得它有用,請記住接受並提高其中一個答案。 –

相關問題