我有 2 种类型的数据,例如:- 我需要一个包含女孩和男孩名字的学生数组,并且我需要分别检索女孩和男孩的名字。
我可以用任何描述符在java中做到这一点吗?
你可以这样做:
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);
照原样,您不能只是在字符串中抛出随机名称并期望语言知道哪个是哪个。但是,如果您要使用两个列表的字符串表示形式,则可以使用类似上面的方法,然后使用XStream之类的方法从给定的数据结构中生成 XML。
编辑:
要检索男孩的详细信息,您可以执行以下操作:
for(Student boy : students.get("boys"))
{
System.out.println(boy.getName());
}
对于女孩:
for(Student girl: students.get("girls"))
{
System.out.println(boy.getName());
}
以下是方法
创建学生列表或单独列表
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
}