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

    }
}
相关推荐
zjnlswd2 小时前
C#学习笔记4
笔记·学习·c#
minglie12 小时前
在linux环境烧录esp8266
学习
xqqxqxxq3 小时前
AI Agent学习:MCP与工具生态:工具选择的挑战(李博杰《深入理解 AI Agent》4.3观后总结)
人工智能·学习
青山是哪个青山3 小时前
LangChain 学习笔记(九):上下文与记忆
笔记·学习·langchain
KaKa_大王4 小时前
关于秒杀项目的一些理解
java·学习
Z5998178414 小时前
c#软件开发学习笔记--Modbus-TCP/UDP网口通讯
笔记·学习·c#
zyf1044165 小时前
暑期实践日志 Day29:根据修改要求,进行视频字幕添加
学习·计算机网络·剪辑·暑期实践·课题任务
田径他爸来了6 小时前
嵌入式学习第27天——线程(创建,执行,退出)
java·开发语言·学习
xqqxqxxq6 小时前
AI Agent学习:打通真实世界:Agent 工具分类与设计原则(李博杰《深入理解 AI Agent》4.1 4.2观后总结)
学习·ai
TJHHH.6 小时前
SQL注入学习总结
数据库·笔记·sql·学习·注入