学习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

    }
}
相关推荐
朗迹 - 张伟1 小时前
UE5 PCG学习笔记
笔记·学习·ue5
令狐前生5 小时前
设计模式学习整理
学习·设计模式
湘-枫叶情缘5 小时前
解构认知边界:论万能方法的本体论批判与方法论重构——基于跨学科视阈的哲学-科学辩证
科技·学习·重构·生活·学习方法
inputA7 小时前
【LwIP源码学习6】UDP部分源码分析
c语言·stm32·单片机·嵌入式硬件·网络协议·学习·udp
海尔辛7 小时前
学习黑客5 分钟读懂Linux Permissions 101
linux·学习·安全
真的想上岸啊8 小时前
学习51单片机01(安装开发环境)
嵌入式硬件·学习·51单片机
每次的天空9 小时前
Android学习总结之Glide自定义三级缓存(面试篇)
android·学习·glide
名誉寒冰9 小时前
# KVstorageBaseRaft-cpp 项目 RPC 模块源码学习
qt·学习·rpc
开发游戏的老王10 小时前
[虚幻官方教程学习笔记]深入理解实时渲染(An In-Depth Look at Real-Time Rendering)
笔记·学习·虚幻
码农小嘉11 小时前
若依框架页面
学习