对象数组

题目:
定义一个数组,用来存储一个Person对象
数组有一个缺点:一旦创建,程序运行期间长度不可以改变

package e1031;
 
public class Demo01Array {
    public static void main(String[] args) {
        //首先创建一个长度为3的数组,里面用来存放Person类型的对象
        //int[] array = new int[3];
        Person[] array = new Person[3];//Person类型的数组
 
        //直接通过构造方法来完成成员变量的赋值
        Person one = new Person("迪丽热巴",18);
        Person two = new Person("古力娜扎",28);
        Person three  = new Person("马尔扎哈",38);
 
        //将one当中的地址值赋值到数组的0号元素位置
        array[0] = one;
        array[1] = two;
        array[2] = three;
 
        System.out.println(array[0]);//地址值
        System.out.println(array[1]);//地址值
        System.out.println(array[2]);//地址值
 
        Person person = array[1];
        System.out.println(person.getName());//古力娜扎
 
        //System.out.println(array[1].getName());古力娜扎
 
    }
}

ArrayList集合概述和基本使用

数组的长度不可以发生改变。
但是ArrayList集合的长度是可以改变
对于ArrayList来说,有一个尖括号<E>代表泛型。
泛型:也就是装在集合当中的所有元素,全都是统一的什么类型。
注意:泛型之能是引用类型,不能是基本类型
注意事项:
对于ArrayList集合来说,直接打印得到的不是地址值,而是内容
如果内容是空,得到的是空的中括号:[]

package e1031;
 
import java.util.ArrayList;
 
public class Demo02ArrayList {
    public static void main(String[] args) {
        //创建了一个ArrayList集合,集合的名称是List,里面装的全都是String字符串类型的数据
        //备注:从JDK1.7开始,右侧的尖括号内部可以不写内容,但是<>本身还是要写的
        ArrayList<String> list = new ArrayList<>();
        System.out.println(list);//[]
        //向集合中添加一些数据,需要用到add方法
        list.add("赵丽颖");
        System.out.println(list);//赵丽颖
        list.add("迪丽热巴");
        list.add("古力娜扎");
        list.add("马尔扎哈");
        System.out.println(list);//[赵丽颖,迪丽热巴,古力娜扎,马尔扎哈]
 
        //list.add(100);
        // 错误写法!因为创建的时候尖括号泛型已经说了是字符串,添加进去的元素必须都是字符串才行
 
 
    }
}

ArrayList集合的常用方法

public boolean add(E e);向集合当中添加元素,参数的类型和泛型一致。返回值代表添加是否成功
备注:对于ArrayList集合来说,add添加动作一定是成功的,所以返回值可用可不用
但是对于其他集合,add添加动作不一定成功。
public E get(int index);从集合当中获取元素,参数是索引编号,返回值就是对应位置的元素
public E remove(int index)从集合当中删除元素,参数是索引编号,返回值就是被删除掉的元素
public int size(),获取集合的尺寸长度,返回值是集合中包含的元素个数

import java.util.ArrayList;

public class Demo03ArrayListMethod {
    public static void main(String[] args) {
        ArrayList<String> list=new ArrayList<>();
        System.out.println(list);

        //向集合中添加元素
        boolean success=list.add("张艺兴");
        System.out.println(list);
        System.out.println("添加的动作是否成功:"+success);

        list.add("张艺兴1");
        list.add("张艺兴2");
        list.add("张艺兴3");
        list.add("张艺兴4");
        System.out.println(list);

        //从集合中获取元素,get,索引值从0开始
        String name = list.get(0);
        System.out.println("第一号索引位置:"+name);
        //从集合中删除元素,remove,索引值从0开始
        String removeName = list.remove(2);
        System.out.println("被删除的是:"+removeName);
        System.out.println(list);
        int size = list.size();
        System.out.println("集合的长度是:"+size);

    }
}

遍历集合

import java.util.ArrayList;
    
public class Demo1 {
    public static void main(String[] args) {
        ArrayList<String> list=new ArrayList<>();
        list.add("小白");
        list.add("小黑");
        list.add("小明");
        for (int i = 0; i < list.size(); i++) {
            System.out.println(list.get(i));
        }
    }
}

Arraylist集合存储数据

如果希望向集合ArrayList当中存储基本类型数据,必须使用基本类型对应的“包装类”。

byte Byte

short Short

long Long

float Float

char Character

double Double

int Integer

boolean Boolean

package com.Test;

import java.util.ArrayList;

public class Demo1 {
    public static void main(String[] args) {
        //使用int的包装类Integer,将interesting类型的数字存储进集合中
        ArrayList<Integer> arr = new ArrayList<>();
        arr.add(100);
        arr.add(200);

        System.out.println(arr);//[100, 200]
        int num = arr.get(1);
        System.out.println("第一个元素是 " + num);

    }
}

ArrayList练习一 储存对象

题目:生成6个1-33之间的随机整数,添加到集合,并遍历集合
思路:
1.需要存储6个数字,创建一个集合,
2.产生随机数,需要用到Random
3.用循环6次,来产生6个随机数字,for循环
4.循环内调用r.nextInt(int n),参数是33,0-22,整体加一
5.把数字添加到集合中:add
6.遍历集合: for size get

package com.Test;

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

public class Demo1 {
    public static void main(String[] args) {
       ArrayList<Integer> list=new ArrayList<>();
       Random random=new Random();
        for (int i = 0; i < 6; i++) {
            int num = random.nextInt(33) + 1;
            list.add(num);
        }
        //遍历集合
        for (int i = 0; i < list.size(); i++) {
            System.out.println("list = " + list.get(i));
        }
    }
}

练习 三

懒得写了

练习 四

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

package com.Test;

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

    public class Demo1 {
       public static void main(String[] args) {

        Scanner sc = new Scanner(System.in);
        Random random = new Random();
        ArrayList<Integer> list = new ArrayList<Integer>();

        System.out.println("请输入想要产生随机数的个数");
        int num = sc.nextInt();

        // 产生1-100的随机数
        for (int i = 0; i < num; i++) {
            int a = random.nextInt(100) + 1;
            System.out.println(a);
            // 将随机数放入集合中
            list.add(a);
        }
        System.out.println("筛选前:");
        System.out.println(list);
        // 调用筛选方法进行集合内部的数据筛选 规则:取偶数

        System.out.println("筛选后:");

        //利用没有返回值的方法
        selectmethod(list);

        //利用带有返回值的方法
        ArrayList<Integer> li =  selectmethod1(list);
        System.out.println(li);

    }

    private static ArrayList<Integer> selectmethod1(ArrayList<Integer> list) {

        ArrayList<Integer> li = new ArrayList<Integer>();
        for (int i = 0; i < list.size(); i++) {
            if (list.get(i) % 2 == 0) {
                int a = list.get(i);
                li.add(a);
            }
        }
        return li;



    }

    private static void selectmethod(ArrayList<Integer> list) {
        ArrayList<Integer> li = new ArrayList<Integer>();
        for (int i = 0; i < list.size(); i++) {
            if (list.get(i) % 2 == 0) {
                int a = list.get(i);
                li.add(a);
            }
        }
        System.out.println(li);
    }

}
如果觉得我的文章对你有用,请随意赞赏
END
本文作者:
文章标题:ArrayList集合
本文地址:https://c924.cn/index.php/archives/38/
版权说明:若无注明,本文皆天乐Blog原创,转载请保留文章出处。