package com.sf._02_arrays._06_array_convert_list;

import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
import java.util.List;

public class Test1 {
    /**
     * Student(id,name,age,score)
     * Student[] student = {3个学生}
     *
     * 后续会有的新同学不断进入到班级中 不断往数组中添加元素为了后续更方便往数组中添加元素
     * 把数组转成集合, 后续在调用集合add 方法添加2 个学生
     *
     * 需求:
     * 1 调用一个initStudents方法提供一个学生的数组信息里面有4个学生
     *   往里面在添加2个学生
     * 2 提供方法添加学生方法(数组,添加元素)
     *  在方法中需要将数组转成集合
     *  把元素添加到集合中
     * 3 把集合转回数组 list.toArray();
     * 4想要知道班级的最高分和最低分排序Arrays.sort();
     */
    public static void main(String[] args) {
        // 1 数组初始化
        Student[] students = initStudents();
        // 2 添加学生
        List<Student> list= addStudent(students,new Student(5L,"fanjialong",10,100.0));
        // 3 没有顺序集合
        Collections.sort(list);
        System.out.println(list);
    }
    /**
     * 往数组中添加元素
     */
    public static List<Student>  addStudent(Student[] students,Student student){
        // 1 把数组转成arrayList  . add 方法很方便操作数组
        List<Student> list = new ArrayList<>( Arrays.asList(students));
        list.add(student);
        return list;
    }
    /**
     * 学生数组信息初始化
     */
    public static Student[] initStudents(){
        Student[] students = {
                new Student(1L,"zhangsan",10,90.0),
                new Student(2L,"wangwu",10,60.0),
                new Student(3L,"zhaoliu",10,70.0),
                new Student(4L,"lisi",10,77.0)
        };
        return students;
    }
}
