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;
    }
}
相关推荐
@小博的博客2 小时前
C++初阶学习第十弹——深入讲解vector的迭代器失效
数据结构·c++·学习
南宫生2 小时前
贪心算法习题其四【力扣】【算法学习day.21】
学习·算法·leetcode·链表·贪心算法
懒惰才能让科技进步3 小时前
从零学习大模型(十二)-----基于梯度的重要性剪枝(Gradient-based Pruning)
人工智能·深度学习·学习·算法·chatgpt·transformer·剪枝
love_and_hope3 小时前
Pytorch学习--神经网络--搭建小实战(手撕CIFAR 10 model structure)和 Sequential 的使用
人工智能·pytorch·python·深度学习·学习
Chef_Chen3 小时前
从0开始学习机器学习--Day14--如何优化神经网络的代价函数
神经网络·学习·机器学习
芊寻(嵌入式)3 小时前
C转C++学习笔记--基础知识摘录总结
开发语言·c++·笔记·学习
hong1616884 小时前
跨模态对齐与跨领域学习
学习
阿伟来咯~5 小时前
记录学习react的一些内容
javascript·学习·react.js
Suckerbin5 小时前
Hms?: 1渗透测试
学习·安全·网络安全
水豚AI课代表5 小时前
分析报告、调研报告、工作方案等的提示词
大数据·人工智能·学习·chatgpt·aigc