JAVA —— ArrayList集合习题(共四题)

ArrayList集合的长度是可以随机变化的,而数组的长度是不可变的。
对于ArrayList来说,有一个尖括号 < E > 代表泛型。
泛型:装在集合中的所有元素全都是统一的某个类型。
注意:泛型只能是引用类型,不是能基本类型,若要用基本类型,则使用基本类型的包装类。

ArrayList<String> list = new ArrayList<>();	

//从JDK 1.7+开始,右侧的尖括号内部可以不写内容,但是<>本身还是要写的。
/*
从JDK 1.5+开始,支持自动装箱和自动拆箱。
自动装箱:基本类型 ------> 包装类型
自动拆箱:包装类型 ------> 基本类型
*/

习题一:生成6个1~33之间的随机整数,添加到集合,并遍历集合。

package demo02;

import java.util.Random;
import java.util.ArrayList;

public class demo02 {
        public static void main(String[] args) {
        Random r = new Random();      							//范围在[0,33)
            ArrayList<Integer> list = new ArrayList<>();        //包装类型的集合
            for (int i = 0; i < 6; i++) {       				//循环6次
                int num = r.nextInt(33) + 1;       			 	//范围在[1,34),即[1,33]
                list.add(num);      							//将数值加入集合中
            }
            System.out.println(list);      						//打印输出集合是否正确存在
           System.out.println("=======================");       //分隔开,看的清楚
            for (int i = 0; i < list.size(); i++) {     		//遍历集合
                System.out.println(list.get(i));        		//打印输出
            }
  }
}

运行结果为:
JAVA —— ArrayList集合习题(共四题)_第1张图片

习题二:自定义4个学生对象,添加到集合,并遍历

//Student对象
public class Student {
    private String name;
    private int age;

    public Student() {
    }

    public Student(String name, int age) {
        this.name = name;
        this.age = age;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public int getAge() {
        return age;
    }

    public void setAge(int age) {
        this.age = age;
    }
}
//main类
import java.util.ArrayList;

public class demo02 {

        public static void main(String[] args) {
        //创建集合对象
        ArrayList<Student> list = new ArrayList<>();

        //创建4个学生对象
        Student s1 = new Student("小李",18);
        Student s2 = new Student("小刘",17);
        Student s3 = new Student("小王",19);
        Student s4 = new Student("小陈",20);

        //把学生对象加入到集合中
        list.add(s1);
        list.add(s2);
        list.add(s3);
        list.add(s4);

        //检查是否加入到集合中
        System.out.println(list);

        //遍历集合
        for (int i = 0; i < list.size(); i++) {
           Student stu = list.get(i);
           System.out.println("姓名:" + stu.getName() + "\t年龄:" + stu.getAge());
        }
  }
}

运行结果为:
JAVA —— ArrayList集合习题(共四题)_第2张图片

习题三:定义以指定格式打印集合的方法(ArrayList类型作为参数),使用{}扩起集合,使用@分隔每个元素,格式参照{元素@元素@元素}。

import java.util.ArrayList;

public class demo02 {

    public static void main(String[] args) {
        ArrayList<String> list = new ArrayList<>();     //创建集合

        //将元素添加到集合中
        list.add("小明");
        list.add("小红");
        list.add("小兰");
        list.add("小黄");

        //使用方法
        printArrayList(list);
    }

        //定义指定打印格式的方法
        public static void printArrayList(ArrayList<String> list){
        System.out.print("{");
            for (int i = 0; i < list.size(); i++) {				//遍历
                if(i == list.size()-1)							//判断是否为最后一个元素
                {
                    System.out.print(list.get(i));				//如果是则只打印元素
                }
                else {
                    System.out.print(list.get(i) + "@");		//否则打印元素并加一个@
                }
            }
            System.out.println("}");							//最后在打印一个 } 并换行
        }
}

运行结果为:
在这里插入图片描述

习题四:用一个大集合存入20个随机数字,然后筛选其中的偶数元素,放到 小集合当中,要求用自定义的方法来筛选。

import java.util.ArrayList;
import java.util.Random;

public class demo02 {

    public static void main(String[] args) {
        Random r = new Random();                                //创建生成随机数
        ArrayList<Integer> blist = new ArrayList<>();           //创建大集合
        for (int i = 0; i < 20; i++) {                          //生成20个随机数
            int num = r.nextInt(100) + 1;                		//生成数的范围在[1,101),即[1,100]
            blist.add(num);                                     //将20个随机数添加到大集合中
        }
        System.out.println(blist);                              //打印输出大集合

        watch(blist);                                           //使用自定义的方法
    }


    public static void watch(ArrayList<Integer> list) {         //定义将大集合中偶数放入小集合的方法
        ArrayList<Integer> slist = new ArrayList<>();           //创建一个小集合
        for (int i = 0; i <list.size() ; i++) {                 //进行遍历
                int even = list.get(i);
            if(even%2 == 0){                                    //判断随机数是否为偶数
                slist.add(even);                                //如果是则放入小集合中
            }
        }
        System.out.println(slist);                              //最后打印输出小集合
    }

}

运行结果为:
在这里插入图片描述

你可能感兴趣的:(java,java练习题,java,intellij-idea)