2017-02-08 7 views
-2

私は、すべてのString属性を持つPersonというクラスを持っています。私はArrayList < Person>を持っています。私はこのArrayList < Person>を< String []>リストに変換したいと思います。どのように私はjavaを使用してこれを変換できますか?どのようにオブジェクトのリストをJavaの文字列配列のリストに変換するのですか?

+0

をあなたの質問のタイトルと本文が互いに矛盾します。配列やリストに変換しますか? –

答えて

0

は、文字列配列内のアイテムで、次のように仕事をします。

public class Person { 
private String title; 
private String firstName; 
private String lastName; 

public Person(String title, String firstName, String lastName) { 
    super(); 
    this.title = title; 
    this.firstName = firstName; 
    this.lastName = lastName; 
} 

public String getTitle() { 
    return title; 
} 

public void setTitle(String title) { 
    this.title = title; 
} 

public String getFirstName() { 
    return firstName; 
} 

public void setFirstName(String firstName) { 
    this.firstName = firstName; 
} 

public String getLastName() { 
    return lastName; 
} 

public void setLastName(String lastName) { 
    this.lastName = lastName; 
} 

} 

PersonConverterクラス:

import java.util.ArrayList; 
import java.util.List; 

public class PersonConverter { 

public List<String[]> convertPersonList(List<Person> list) { 
    List<String[]> result = new ArrayList<>(); 

    for (Person p : list) { 
     result.add(convertPerson(p)); 
    } 

    return result; 
} 

private String[] convertPerson(Person p) { 
    String[] persontAttributes = new String[3]; 
    persontAttributes[0] = p.getTitle(); 
    persontAttributes[1] = p.getFirstName(); 
    persontAttributes[2] = p.getLastName(); 
    return persontAttributes; 
} 
} 

テスト:

import java.util.ArrayList; 
import java.util.List; 

public class Main { 

public static void main(String[] args) { 
    //create a person list 
    List<Person> personList = new ArrayList<>(); 

    Person john = new Person("Mr.", "John", "Lenonn"); 
    Person paul = new Person("Sir", "Paul", "McCartney"); 

    personList.add(john); 
    personList.add(paul); 

    //create an instance of the person converter 
    PersonConverter pc = new PersonConverter(); 

    //perform the conversion 
    List<String[]> convertedList = pc.convertPersonList(personList); 

    //print the result to the console 
    for (String[] stringArray : convertedList) { 
     for (String s : stringArray) { 
      System.out.println(s); 
     } 
     System.out.println(); 
    } 
} 

} 

これはアウト出力します

Mr. 
John 
Lenonn 

Sir 
Paul 
McCartney 
0

私はあなたが求めていることを明確に理解しているとは確信していませんが、あなたはいつもあなたの人に簡単なループを作ることができます。

ArrayList<Person> people = new ArrayList<Person>(); 
List<String[]> everyonesAtt = new ArrayList<String[]>(); 
for (Person person : people) { 
    everyonesAtt.add(person.getAttributes()); 
} 

そして、Personクラスの例:

人クラス:Personクラスの各属性を想定し

public class Person { 

private String name; 

private String surname; 

public String[] getAttributes(){ 
    String[] atts = {name, surname}; 
    return atts; 
} 
} 
関連する問題