有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

Java:CollectionHow创建多列

我想在集合中存储多个学生信息,如, 姓名、年龄、性别,。。。 那么,我应该创建哪个集合来存储信息呢

如果有任何其他替代解决方案,请通知我。。。THX


共 (4) 个答案

  1. # 1 楼答案

    完全取决于你的要求。要求如下:

    1. 你想为每个学生存储任何唯一的信息吗
    2. 您是否希望您的信息被订购

    为了选择任何收藏,你的要求必须明确

    选择哪个系列

    • 在LinkedList中插入和删除更快,但在搜索ArrayList时则更快。可以使用实用程序类集合对这些数据进行排序。排序(你的列表)
    • 如果你想避免重复输入,那么选择HashSet或LinkedHashSet。HashSet是无序的,而LinkedHashSet是有序的
    • 如果你想让学生对一组数据进行排序,那么就选择TreeSet
    • 如果你有像RollNo这样的唯一记录,并且你希望学生的信息应该用RollNo映射,那么你可以选择HashMap和LinkedHashMap,后者是有序的
    • 如果你想把钥匙分类,那就去树状图
  2. # 2 楼答案

    创建一个像

    class Student {
       String name;
       String age;
       String sex;
       etc....
    }
    

    然后创建一个集合,如

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

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

    Student student1 = new Student();
    students.add(student1);
    
  3. # 3 楼答案

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

    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);
    
  4. # 4 楼答案

    根据我的经验,使用ArrayList这样的东西很有效。只需用各自的心房创建一个新的class Students,然后将其存储在ArrayList中:

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

    或者

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

    你也可以看看Oracle关于ArrayList:ArrayList Oracle Tutorial的教程

    问候