Java零基础学习19:集合

编写博客目的:本系列博客均根据B站黑马程序员系列视频学习和编写目的在于记录自己的学习点滴,方便后续回忆和查找相关知识点,不足之处恳请各位有缘的朋友指正。

一、集合和数组的对比

数组和集合很相似,但集合只能存储引用数据类型,而数组两者皆可,集合的长度可自动扩容,而数组则是固定长度

java 复制代码
package www.itheima;

import java.util.ArrayList;

public class ArrayListDemo1 {
    public static void main(String[] args){
        // 1. 创建集合的对象
        // 创建对象时要确定一个泛型,这个是集合中存储的数据类型
        ArrayList<String> list = new ArrayList<>();
        System.out.println(list);
    }
}

集合定义的时候要定义一个泛型在集合的名字之后的<>之间,这里面指定了集合的泛型

二、 集合的增删查改

java 复制代码
package www.itheima;

import java.util.ArrayList;

public class ArrayListDemo1 {
    public static void main(String[] args){
        // 1. 创建集合的对象
        // 创建对象时要确定一个泛型,这个是集合中存储的数据类型
        ArrayList<String> list = new ArrayList<>();
        // 增加元素
        list.add("aaa");
        list.add("bbb");
        list.add("ccc");
        
        //删除元素
        list.remove("aaa");
        list.remove(1);
        
        //修改元素
        list.set(1,"ccc");
        
        //查询元素
        list.get(0);
        
        System.out.println(list);
        
    }
}

三、 集合遍历基本数据类型

集合添加基本数据类型,必须先把基本数据类型封装成包,其实就是在<>中更换对应的类型符,其余和正常的使用引用类型是一样的

java 复制代码
package www.itheima;

import java.util.ArrayList;

public class ArrayListDemo3 {
    public static void main(String[] args) {
        // 1. 创建集合
        ArrayList<Integer> list = new ArrayList<>();
        // 2. 添加元素
        list.add(1);
        list.add(2);
        list.add(3);
        list.add(4);
        // 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.println("]");

    }
}

四、判断集合中数据是否存在

java 复制代码
package www.itheima;

import java.util.ArrayList;

public class ArrayListDemo6 {
    public static void main(String[] args) {
        ArrayList<User> list = new ArrayList<>();

        User u1 = new User("001", "zhangsan", "123456");
        User u2 = new User("002", "wangwu", "123456");
        User u3 = new User("003", "lisi", "123456");

        list.add(u1);
        list.add(u2);
        list.add(u3);

        boolean flag = contains(list,"002");
        System.out.print(flag);
    }

    public static boolean contains(ArrayList<User> list, String id) {
        for (int i = 0; i < list.size(); i++) {
            User u = list.get(i);
            String uid = u.getId();
            if (uid.equals(id)) {
                return true;
            }
        }
        return false;
    }
}
相关推荐
YM52e6 分钟前
鸿蒙Flutter Positioned定位组件:精确定位子组件
学习·flutter·华为·harmonyos·鸿蒙·鸿蒙系统
范什么特西7 分钟前
每日学习-04
学习
吃着火锅x唱着歌18 分钟前
Effective C++ 学习笔记 条款38 通过复合塑模出has-a或“根据某物实现出”
c++·笔记·学习
caimouse27 分钟前
mm学习笔记_04:VAD树算法与地址空间分配
笔记·学习·算法·reactos
叩码以求索9 小时前
三维建模:SolidWorks 2025保姆级下载与安装教程指南
学习·数学建模
zhangrelay11 小时前
消费电子原装锂电池服役8–20年且健康度>40%公开实测案例完整调研分析报告
笔记·学习
tyqtyq2211 小时前
HarmonyOS AI 应用开发实战:简历项目经历改写系统
人工智能·学习·华为·生活·harmonyos
bush414 小时前
正点原子imx6ull-uboot,奇怪的问题
linux·学习
念雨思14 小时前
HarmonyOS AI 应用开发实战:短视频选题灵感 —— AI 驱动的内容创作引擎
人工智能·学习·华为·harmonyos·鸿蒙
2601_9593832415 小时前
休学干预的“信任难题”,坤和静界·春藤计划怎么尝试破局
学习