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;
    }
}
相关推荐
悟乙己3 小时前
AFAC2026 赛题四金融长文本 Agent竞赛学习笔记:赛题解析(一)
笔记·学习·金融
霍霍的袁3 小时前
【C++】哈希表实现指南:从原理到开放定址法、链地址法的实现
c++·学习·哈希算法·散列表·visual studio
PC2005-cloud4 小时前
MySQL学习笔记:GTID 主从复制,从原理到实践,告别传统 Binlog+Position 的痛点
笔记·学习·mysql
starsky762384 小时前
Agent学习——上下文工程(二)
学习
Dark_Fairy6 小时前
CMeKG_tools 知识图谱项目速成教程(13课共24H)
学习
悟乙己6 小时前
AFAC2026 赛题四金融长文本 Agent竞赛学习笔记:关联技术(二)
笔记·学习·金融
我送炭你添花6 小时前
ASA原理与电子维修实战:前言 一路修来,一路学习
运维·网络·学习
代码山河7 小时前
第一个Java程序:Hello World从零编写与运行
java·学习·架构·教程·面向对象·项目
aqiu1111117 小时前
蓝桥杯省一学习计划:每天 2 小时,12 周高效备赛
学习·职场和发展·蓝桥杯
Filthyfrank8 小时前
I2C vs I3C时序差异
学习