学习JAVA的第六天(基础)

目录

集合

集合和数组的对比

ArrayList成员方法

ArrayList成员方法代码展示

练习

集合的遍历01之字符串

集合的遍历02之数字

集合的遍历03之学生对象


集合

集合和数组的对比

  • 长度维度来看 数组长度固定 集合长度可变
  • 存储类型 维度来看 数组可以存放基本数据类型和引用数据类型。集合只能存储引用数据类型, 如果要存放基本数据类型,需要将基本数据类型变成包装类。

ArrayList成员方法

方法名 说明
boolean add(E e) 添加元素,返回值表示是否添加成功
boolean remove(E e) 删除指定元素,返回值表示是否删除成功
E remove(int index) 删除指定索引的元素,返回被删除元素
E set(int index,E e) 修改指定索引下的元素,返回原来的元素
E get(int index ) 获取指定索引的元素
int size() 集合的长度,即是集合中元素的个数

ArrayList成员方法代码展示

java 复制代码
import java.util.ArrayList;

public class Test19 {
    public static void main(String[] args) {
        //1.创建一个集合  <>里面是泛型 限制集合里面的元素类型
        ArrayList<String> list = new ArrayList<String>();

        //2.添加元素
        list.add("a");  //返回值为boolean类型
        list.add("b");

        //3.删除元素
        list.remove("a"); //返回值为boolean类型
        list.remove(0);//里面填索引,会返回被删除的元素

        //4.修改元素
        list.set(1,"c");//返回被修改的元素

        //5.查询元素
        list.get(0);//返回查询的元素

        //6.获取集合的长度
        list.size();
    }
}

练习

集合的遍历01之字符串

需求:定义一个集合,添加字符串,并进行遍历。结果:元素1,元素2,元素3

java 复制代码
import java.util.ArrayList;

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

        //2.添加元素
        list.add("zhang");
        list.add("re");
        list.add("da");
        list.add("ad");

        //3.遍历
        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.print("]");

        //结果 :  [zhang,re,da,ad]

    }
}

集合的遍历02之数字

需求:定义一个集合,添加数字,并进行遍历。结果:元素1,元素2,元素3

**问题 :**数字的泛型是什么?众所周知,集合里面要存放基本数据类型,需要将其变成包装类

基本数据类型对应的包装类

基本数据类型 包装类
byte Byte
char Character
short Short
int Integer
boolean Boolean
float Float
double Double
long Long
java 复制代码
import java.util.ArrayList;

public class Test21 {
    public static void main(String[] args) {
        //1.创建集合 将int类型变成包装类Integer
        ArrayList<Integer> list = new ArrayList<>();

        //2.添加元素
        list.add(1);
        list.add(2);
        list.add(3);
        list.add(4);
        list.add(5);

        //3.遍历数组
        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.print("]");
    }
}
//结果 [1,2,3,4,5]

集合的遍历03之学生对象

需求:定义一个集合,添加一些学生对象,并进行遍历学生类的属性(姓名,年龄)

1.创建Student类,并编写相关成员变量和成员方法以及构造方法

java 复制代码
public class Student {
    //1.私有化成员变量
    //2.空参构造方法和带全部参数的构造方法
    //3.针对每个成员变量编写set方法和get方法
    private String name;
    private int age;

    //空参构造方法
    public Student() {

    }
    //带全部参数的构造方法
    public Student(String name,int age){
        this.name = name;
        this.age = age;
    }
    //关于名字name的get方法
    public String getName() {
        return name;
    }

    //关于名字name的set方法
    public void setName(String name) {
        this.name = name;
    }

    //关于年龄age的get方法
    public int getAge() {
        return age;
    }

    //关于年龄age的set方法
    public void setAge(int age) {
        this.age = age;
    }
}

2.定义一个集合,添加一些学生对象,并进行遍历学生类的属性(姓名,年龄)

java 复制代码
import java.util.ArrayList;

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

        //2.创建学生对象 赋值属性
        Student s1 = new Student("张三",18);
        Student s2 = new Student("李四",19);
        Student s3 = new Student("王五",20);

        //3.添加元素
        list.add(s1);
        list.add(s2);
        list.add(s3);

        //4.遍历集合
        for (int i = 0; i < list.size(); i++) {
           Student stu = list.get(i);
           System.out.println(stu.getName()+" "+stu.getAge());

        }
        //5.运行结果
//        张三 18
//        李四 19
//        王五 20

    }
}
相关推荐
袁小皮皮不皮8 小时前
1.HCIP BFD 学习笔记(优化版)
服务器·网络·笔记·网络协议·学习·智能路由器·ip
装不满的克莱因瓶8 小时前
【自动驾驶领域】学习 Cityscapes 数据集——城市街景语义理解的标准基准
人工智能·pytorch·python·深度学习·学习·机器学习·自动驾驶
清辞8539 小时前
产品经理需求推进流程
大数据·深度学习·学习·产品经理
YM52e9 小时前
鸿蒙PC ArkTS 声明合并问题深度解析与最佳实践
学习·华为·harmonyos·鸿蒙·鸿蒙系统
海兰10 小时前
【实用程序】电商销售分析仪表盘 — 从零搭建一个AI参与的全栈数据洞察系统
人工智能·学习·算法
ken223211 小时前
在 Libreoffice Calc中输入自定义表情字符时,需要保存之后,才能正常显示
学习
zwenqiyu11 小时前
P5283 [十二省联考 2019] 异或粽子题解
c++·学习·算法
编程圈子11 小时前
电机驱动开发学习2. 直流无刷电机工作原理
驱动开发·学习
MartinYeung511 小时前
[论文学习]大型语言模型(LLM)安全与隐私-基于善、恶、丑的深度分析
学习·安全·语言模型
什仙11 小时前
Mathcad Prime 的教程资料
学习·工具