2014-12-28 2 views
0

의 배열로 객체의 목록을 변환, 내가 가진 :내 메인 클래스에서 문자열

List<Person> allPeople = new ArrayList<>(); 그런 다음 수업 시간에 나는 모든 사람들의 Id (사람의 문자열 배열을 반환하는 방법을 가지고는 접근 방법이있다 getId()).

문자열을 ID로 사용하는 배열로 목록을 변환하는 가장 좋은 방법은 무엇입니까?

이 내 현재의 솔루션입니다 : 작품 위

public String[] getAllId() { 

    Object[] allPeopleArray = allPeople.toArray(); 
    String allId[] = new String[allPeople.size()];    

    for(int i=0; i<=allPeople.size()-1; i++){ 
     allId[i] = ((Person)allPeopleArray [i]).getId();      
    } 

    return allId; 
} 

만이 할 수있는 '더 좋은'방법이?

+0

'String []'을 반환해야합니까, 아니면 'List '입니까? –

+1

[컬렉션을 배열로 변환하는 가장 쉬운 방법은?] (http://stackoverflow.com/questions/3293946/the-easiest-way-to-transform-collection-to-array) –

+0

중복이 아닙니다. 배열로 변환하는 것이 아니라 특정 속성 (이 경우 -id)의 배열로 변형됩니다. – haimlit

답변

5
public String[] getAllId() { 
    return allPeople.stream().map(Person::getId).toArray(String[]::new); 
} 
+2

이 답변을 사용하려면 Java 8에서 도입 된 새로운 방법과 구문이 필요합니다. –

관련 문제