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

    }
}
相关推荐
低音钢琴35 分钟前
【碎片化学习】工具文:计算机通用术语中常见的100个英文单词
学习
im_AMBER2 小时前
Web 开发 24
前端·笔记·git·学习
递归不收敛3 小时前
吴恩达机器学习课程(PyTorch 适配)学习笔记:3.4 强化学习
pytorch·学习·机器学习
StarPrayers.3 小时前
卷积层(Convolutional Layer)学习笔记
人工智能·笔记·深度学习·学习·机器学习
能不能别报错4 小时前
K8s学习笔记(十五) pause容器与init容器
笔记·学习·kubernetes
ᖰ・◡・ᖳ4 小时前
JavaScript:神奇的ES6之旅
前端·javascript·学习·es6
小马学嵌入式~4 小时前
堆排序原理与实现详解
开发语言·数据结构·学习·算法
递归不收敛4 小时前
吴恩达机器学习课程(PyTorch适配)学习笔记:1.4 模型评估与问题解决
pytorch·学习·机器学习
又是忙碌的一天5 小时前
前端学习 JavaScript
前端·javascript·学习
ooo-p5 小时前
FPGA学习篇——Verilog学习之计数器的实现
学习·fpga开发