Java学习日记

Java培训日记

Week 2 day 01

今天看了尚学堂的高淇的相关基础的Java讲解,对数组和集合有了进一步深的了解。这种讲课式的视频教学还是比看书要好理解一些,就像一个人看教材不如有个老师指点迷津,这样子势必会事半功倍。

下午,我们就深入基础又讲了数组和组合。
一个集合是一个对象,但它表示一组对象,Java 集合中实际存放的是对象的引用值,不能存放基本数据类型值。
List 是有序集合,允许有相同的元素。使用 List 能够精确地控制每个元素插入的位置,用户能够使用索引(元素在 List 中的位置,类似于数组下标)来访问 List 中的元素,与数组类似。
Set 接口:该接口也实现了 Collection 接口。它不能包含重复的元素,SortedSet 是按升序排列的 Set 集合。
HashSet:为优化査询速度而设计的 Set。它是基于 HashMap 实现的,HashSet 底层使用 HashMap 来保存所有元素,实现比较简单。
ArrayList:一个用数组实现的 List,能进行快速的随机访问,效率高而且实现了可变大小的数组。

而后我们又编写了两段代码,去解决一些基础的问题。

Java学习日记_第1张图片

public class Question4 {
    public static void main(String[] args) {
        Listlist = getNubList();
        printcCount(list);
    }

    public static void printcCount(Listlist) {
        int[] count=new int[10];
        for (int i : list) {    //自动拆箱
            count[i-1]++;
        }
        for (int i=0;i getNubList(){
        ArrayList list =new ArrayList();
        Random random=new Random();
        for (int i=0;i<100;i++){
            int x= random.nextInt(10)+1;
            list.add(x);//自动装箱
        }
        return list;
    }
}

Java学习日记_第2张图片

public class Question5 {
    public static void main(String[] args) {
        //获取随机产生的分数集合
        ArrayList list=getScoreelist();
        //产生技术变量
        ArrayListcountList=countScore(list);
        //打印统计结果
        printCount(countList);
    }

    private static void printCount(ArrayList countList) {
        int start=100;
        int end=80;
        for (int i = 0; i < countList.size(); i++) {
            System.out.println(start+"-"+end+"分数段有"+countList.get(i)+"人");
            if (i == 1) {
                start-=21;
                end-=20;
            } else if (i == countList.size() - 2) {
                start-=20;
                end-=40;
            }else{
                start-=20;
                end-=20;
            }
        }

    }

    private static ArrayList countScore(ArrayList list) {
        //定义一个集合,存放各个分数段的统计个数
        ArrayList countList=new ArrayList<>();
        int count100=0;
        int count79=0;
        int count59=0;
        int count39=0;
        for (int i = 0; i < list.size(); i++) {
            //取出集合的元素
            int score=list.get(i);
            if (score<=100&&score>=80){
                count100++;
            } else if (score <= 79 && score >= 40) {
                count79++;
            }else if (score<=59&&score>=40){
                count59++;
            }else{
                count39++;
            }
        }
        countList.add(count100);
        countList.add(count79);
        countList.add(count59);
        countList.add(count39);
        return countList;
    }
    private static ArrayList getScoreelist(){
        //定义一个集合,存放分组数据
        ArrayList list=new ArrayList();
        //随机生成分数
        Random random=new Random();
        for (int i = 0; i < 50; i++) {
            int x=random.nextInt(101);
            list.add(x);
        }
        return list;
    }
}

这两个生动地实践了集合的应用。

你可能感兴趣的:(Java学习日记)