Java:集合 - 如何创建多列

时间:2016-10-14 09:25:50

标签: java collections

我想将多个学生信息存储在集合中,例如, 姓名,年龄,性别...... 我应该创建哪个最佳集合来存储信息。

如果有任何其他替代解决方案PLz通知我...... THX

4 个答案:

答案 0 :(得分:5)

创建一个类似

的学生课程
class Student {
   String name;
   String age;
   String sex;
   etc....
}

然后创建一个像

这样的集合
Collection<Student> students = new ArrayList<Student>();

然后创建学生对象并将其添加到集合

Student student1 = new Student();
students.add(student1);

答案 1 :(得分:1)

根据我对这类事情的经验,使用ArrayList效果很好。只需使用各自的属性创建一个新的class Students,然后将其存储在ArrayList中:

ArrayList<Student> students = new ArrayList<Student>();

List<Student> students = new ArrayList<Student>();

您也可以查看有关ArrayList的Oracle教程:ArrayList Oracle Tutorial

迎接

答案 2 :(得分:1)

完全取决于您的要求。要求如: -

  1. 您是否希望存储对于每个学生而言唯一的信息,例如RollNo。
  2. 您是否希望订购或不订购您的信息。
  3. 为了选择任何收藏品,您的要求必须明确。

    选择哪个系列?

    • 在LinkedList中插入和删除速度更快,但在搜索ArrayList时速度更快。您可以使用Utility类Collections.sort(yourList);
    • 对此数据进行排序
    • 如果您想避免重复输入,请转到HashSet或LinkedHashSet。在订购LinkedHashSet时,HashSet是无序的。
    • 如果您希望对学生数据集进行排序,请转到TreeSet。
    • 如果您有像RollNo这样的独特记录,并且您希望学生的信息应该使用RollNo进行映射,那么您可以使用HashMap和LinkedHashMap,后者是有序的。
    • 如果要对键进行排序,请转到TreeMap。

答案 3 :(得分:-1)

您可以使用地图列表。 检查此示例:

List<Map<String , String>> studentList = new ArrayList<>();
Map<String , String> studentRecord = new HashMap();
//Record for first Student
studentRecord.put("Name","Value1");
studentRecord.put("Age","Value2");
studentRecord.put("Sex","Value3");
studentList.add(studentRecord);
//Record for second Student
studentRecord.put("Name","Value1");
studentRecord.put("Age","Value2");
studentRecord.put("Sex","Value3");
studentList.add(studentRecord);