• ArrayList 的用法


    定义一个学生类Student,属性有age,name,score,classNum

    有如下:

    list.add(new Student("Tom",18,100,"class05"));
    list.add(new Student("Jerry",22,70,"class04"));
    list.add(new Student("Owen",25,90,"class05"));
    list.add(new Student("Jim",30,80,"class05"));
    list.add(new Student("Steve",28,66,"class06"));
    list.add(new Student("Kevin",24,100,"class04"));

    在这个list的基础上,完成下列要求:

    1、统计出总班级数

    2、统计每个班的平均分和人数

    3、按学生的成绩排名(成绩相同的按年龄排名)

    import java.util.ArrayList;
    import java.util.Collections;
    import java.util.HashSet;
    import java.util.List;
    import java.util.Set;
    
    public class Student {
         int age;
         String name;
         int score;
         String classNum;
         Student(){
             
         }
         Student(String name,int age,int score,String classNum)
         {
             this.age=age;
             this.name=name;
             this.score=score;
             this.classNum=classNum;
         }
         
         public int getAge() {
            return age;
        }
        public void setAge(int age) {
            this.age = age;
        }
        public String getName() {
            return name;
        }
        public void setName(String name) {
            this.name = name;
        }
        public int getScore() {
            return score;
        }
        public void setScore(int score) {
            this.score = score;
        }
        public String getClassNum() {
            return classNum;
        }
        public void setClassNum(String classNum) {
            this.classNum = classNum;
        }
        
        public static void main(String[] args) {
            List <Student>list=new ArrayList<>();
            list.add(new Student("Tom",18,100,"class05"));
            list.add(new Student("Jerry",22,70,"class04"));
            list.add(new Student("Owen",25,90,"class05"));
            list.add(new Student("Jim",30,80,"class05"));
            list.add(new Student("Steve",28,66,"class06"));
            list.add(new Student("Kevin",24,100,"class04"));
            //统计班级
            Set <String> set=new HashSet<>();
            for(int i=0;i<list.size();i++)
            {  
                
                set.add(list.get(i).getClassNum());
                
                
            }
            System.out.println("总共有:"+set.size());
            //每班平均分、人数
            Object[] array=set.toArray();
            
            for(int j=0;j<set.size();j++)
            {   int sum=0;
                int count=0;
                for(int i=0;i<list.size();i++)
                {
                  if(list.get(i).getClassNum().equals(array[j])){
                      sum+=list.get(i).getScore();
                      count++;
                  }
                }
                System.out.println(array[j]+" 平均分:"+(sum/count)+"  人数:"+count);
            }
            //排序
            int tmp=0;
            for(int i=0;i<list.size();i++)
            {
                for(int j=i+1;j<list.size();j++)
                {
                    if(list.get(i).score>list.get(j).score)
                    {
                        tmp=list.get(i).score;
                        list.get(i).score=list.get(j).score;
                        list.get(j).score=tmp;
                    }
                }
                
            }
            
            for(int i=0;i<list.size();i++)
            {
                for(int j=i+1;j<list.size();j++)
                {
                    if(list.get(i).score==list.get(j).score)
                    {
                        if(list.get(i).age>list.get(j).age)
                        {
                            tmp=list.get(i).age;
                            list.get(i).age=list.get(j).age;
                            list.get(j).age=tmp;
                        }
                    }
                }
                
            }
            for(int i=0;i<list.size();i++)
            {
                System.out.println(list.get(i).getName()+" "+list.get(i).age+":  "+list.get(i).getScore());
            }
            
        }
    
    }

     ArrayList的用法和数组差不多,只是有很多的API,更方便我们解决问题

  • 相关阅读:
    webservice时间类型XMLGregorianCalendar和Date的转换
    webservice中jaxws:server 和jaxws:endpoint的区别
    使用CXF开发JAX-WS类型的WebService
    使用TCP/IP Monitor监视Soap协议
    Webservice优缺点总结
    WebService两种调用方法
    DOS命令运行java文件,批量引用jar包
    eclipse创建的maven项目无法部署到tomcat
    图片翻转效果
    掷骰子效果
  • 原文地址:https://www.cnblogs.com/xiaojuzibuxiao/p/7725939.html
Copyright © 2020-2023  润新知