-2

たとえば、2 種類のデータがあります。- 女の子と男の子の名前を持つ学生の単一の配列が必要であり、女の子と男の子の名前を別々に取得する必要があります。

記述子を使用してJavaでこれを行うことはできますか?

4

2 に答える 2

1

あなたはこれを行うことができます:

Map<String, List<Student>> students = new HashMap<String, List<Student>>();
List<Student> boysList = new ArrayList<Student>();
...
List<Student> girlsList = new ArrayList<Student>();
...
students.put("girls", girlsList);
students.put("boys", boysList);

現状では、文字列にランダムな名前を入れて、言語がどれを知っているかを期待することはできません。ただし、2つのリストの文字列表現が必要な場合は、上記のようなものを使用してから、 XStreamのようなものを使用して、指定されたデータ構造からXMLを生成できます。

編集:

男の子に関する詳細を取得するには、次のようにします。

for(Student boy : students.get("boys"))
{
    System.out.println(boy.getName());
}

女の子の場合:

for(Student girl: students.get("girls"))
{
    System.out.println(boy.getName());
} 
于 2012-09-20T05:37:16.127 に答える
1

以下が方法です

  1. 生徒用のクラスを作成します。
  2. 学生のリストまたは別のリストを作成する

    class Student {
    private String name;
    private Gender gender;
    
    public Student(String name, Gender gender) {
    
        this.setName(name);
        this.setGender(gender);
    }
    
    public Gender getGender() {
        return gender;
    }
    
    public void setGender(Gender gender) {
        this.gender = gender;
    }
    
    public String getName() {
        return name;
    }
    
    public void setName(String name) {
        this.name = name;
    }
    
    List<Student> students = new ArrayList<Student>();
    
    // Provide method like get student etc. It is not efficient to put both
    // in one list you can use separate list as well or a Hashmap
     }
    public enum Gender {
        BOY, GIRL
    }
    
于 2012-09-20T05:38:21.447 に答える