学习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 小时前
嵌入式学习笔记--MCU阶段--DAY12实时操作系统rt_thread1
笔记·学习
诗书画唱3 小时前
我的学习认知、高效方法与知识积累笔记
笔记·学习
小大力3 小时前
简单的 HTTPS 学习
网络协议·学习·https
我们从未走散4 小时前
设计模式学习笔记-----单例模式
java·笔记·学习·单例模式·设计模式
宇寒风暖8 小时前
@(AJAX)
前端·javascript·笔记·学习·ajax
菜菜子爱学习13 小时前
Nginx学习笔记(八)—— Nginx缓存集成
笔记·学习·nginx·缓存·运维开发
chillxiaohan13 小时前
GO学习记录五——数据库表的增删改查
数据库·学习·golang
憨憨の大鸭鸭15 小时前
python爬虫学习(2)
爬虫·学习
_hermit:17 小时前
【从零开始java学习|第六篇】运算符的使用与注意事项
java·学习
rannn_11119 小时前
【Linux学习|黑马笔记|Day4】IP地址、主机名、网络请求、下载、端口、进程管理、主机状态监控、环境变量、文件的上传和下载、压缩和解压
linux·笔记·后端·学习