集合——ArrayList练习

1.存储随机数字 (Random+ArrayList)

生成6个1~33之间的随机整数,添加到集合,并遍历集合。
思路:
1.需要存储6个数字,创建一个集合,

2.产生随机数,需要用到Random

3.用循环6次,来产生6个随机数字:for循环

4.循环内调用r.nextInt(int n),参数是33,032,整体+1才是133

5.把数字添加到集合中:add

6.遍历集合:for、 size、get

package setclass.ArrayList;

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

public class ArrayListRandom {
    /*题目:
    生成6个1~33之间的随机整数,添加到集合,并遍历集合。
思路:
1.需要存储6个数字,创建一个集合,<Integer>2.产生随机数,需要用到Random
3.用循环6次,来产生6个随机数字:for循环
4.循环内调用r.nextInt(int n),参数是33,0~32,整体+1才是1~335.把数字添加到集合中:add
6.遍历集合:for、 size、get
*/
    public static void main(String[] args) {
        ArrayList<Integer> list=new ArrayList<>();
        Random r=new Random();
        for (int i = 0; i < 6; i++) {//6个随机数字
            int num= r.nextInt(32)+1;
            System.out.println("第"+(i+1)+"个随机整数为:"+num);
            list.add(num);
            System.out.println("添加后的集合:"+list);
        }
        for (int i = 0; i < list.size(); i++) {//取出每个值
            System.out.print(list.get(i)+" ");
        }
    }
}
结果:
第1个随机整数为:20
添加后的集合:[20]2个随机整数为:4
添加后的集合:[20, 4]3个随机整数为:17
添加后的集合:[20, 4, 17]4个随机整数为:10
添加后的集合:[20, 4, 17, 10]5个随机整数为:31
添加后的集合:[20, 4, 17, 10, 31]6个随机整数为:25
添加后的集合:[20, 4, 17, 10, 31, 25]
20 4 17 10 31 25 
2.存储自定义对象

题目:定义四个学生对象,添加到集合,并遍历。

思路:

1.定义Student类

​ 四部分:私有对象,无参构造,有参构造,get、set方法

2.定义存储学生对象的集合ArrayList< Student >

实例化学生对象

3.添加到集合add

4.遍历集合显示

package setclass.ArrayList;

import java.util.ArrayList;

public class ArrayListStudent {//ArrayList集合存储自定义对象测试类
    //题目2:定义四个学生对象,添加到集合,并遍历。
    /*
    1.定义Student类
    2.定义存储学生对象的集合ArrayList<Student>
       实例化学生对象
    3.添加到集合add
    4.遍历集合显示
     */
    public static void main(String[] args ) {
        ArrayList<Student> list=new ArrayList<>();
        Student student1 = new Student("张三",20);
        Student student2 = new Student("李四",21);
        Student student3 = new Student("王五",22);
        Student student4 = new Student("赵六",23);
        list.add(student1);
        list.add(student2);
        list.add(student3);
        list.add(student4);
        System.out.println("添加Student对象后的集合:");
        for (int i = 0; i < list.size(); i++) {
            Student stu = list.get(i);
            System.out.println("第"+(i+1)+"个"+"姓名为:"+stu.getName()+" 年龄为:"+stu.getAge());
        }
    }
}
3.按指定格式遍历集合字符串

集合可以作为参数进行传递

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

  • 格式参照{元素@元素@元素}。

  • system.out.println(list); [10,20,30]

  • printArraylist(list); {10@20@30}

package setclass.ArrayList;

import java.util.ArrayList;

public class ArrayListPrint {
    //题目:定义以指定格式打印集合的方法(ArrayList类型作为参数),使用{}扩起集合,使用@分隔每个元素。
    /*格式参照{元素@元素@元素}。
    system.out.println(list);  [10,20,30]
    printArraylist(list);  {10@20@30}*/
    public static void main(String[] args) {
        ArrayListPrint arrayListPrint = new ArrayListPrint();
        ArrayList<String> list=new ArrayList<>();
        list.add("张三");
        list.add("李四");
        list.add("王五");
        list.add("赵六");
        arrayListPrint.printArraylist(list);
    }
    public void printArraylist(ArrayList<String> list){
        System.out.print("{");
        for (int i = 0; i < list.size(); i++) {
            String name = list.get(i);
            if (i==list.size()-1){
                System.out.print(name+"}");
            }else {
                System.out.print(name+"@");
            }
        }
    }
}
4.筛选集合中的随机数 (Random+ArrayList)

集合可以作为返回值

题目:用一个大集合存入20个随机数字,然后筛选其中的偶数元素,放到小集合当中。要求使用自定义的方法来实现筛选。
思路分析:
1.需要创建一个大集合,用来存储int数字:
2.随机数字就用Random nextInt
3.循环20次,把随机数字放入大集合:for循环、add方法
4.定义一个方法,用来进行筛选。
筛选:根据大集合,筛选符合要求的元素,得到小集合。
三要素:
返回值类型:ArrayList小集合(里面元素个数不确定)
方法名称: getSmaLlList
参数列表:Arraylist大集合(装着20个随机数字)
5.判断(if)是偶数: num % 2 == 0
6.如果是偶数,就放到小集合当中,否则不放

package setclass.ArrayList;

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

public class ArrayListReturn {

    public static void main(String[] args) {
        ArrayList<Integer> list=new ArrayList<>();//存放20个随机数大集合
        ArrayListReturn arrayListReturn = new ArrayListReturn();
        Random r = new Random();
        for (int i = 0; i < 20; i++) {
            int num=r.nextInt(19)+1;//[1-20]
            list.add(num);
        }
        System.out.println("存放20个随机数大集合:"+list);
        ArrayList<Integer> evenlist=arrayListReturn.getEvenArrayList(list);
        System.out.println("偶数的个数:"+evenlist.size());
        System.out.println("存放偶数的小集合:"+evenlist);
    }
    public ArrayList<Integer> getEvenArrayList(ArrayList<Integer> list){
        ArrayList<Integer> list1 = new ArrayList<>();//存放偶数的小集合
        for (int i = 0; i < list.size(); i++) {
            int number=list.get(i);
            if (number%2==0){
                list1.add(number);
            }
        }
        return list1;
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值