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;
    }
}
相关推荐
艾莉丝努力练剑42 分钟前
【C语言16天强化训练】从基础入门到进阶:Day 7
java·c语言·学习·算法
自强的小白2 小时前
学习Java24天
java·学习
SalvoGao3 小时前
空转学习 | cell-level 与 spot-level的区别
人工智能·深度学习·学习
Magnetic_h5 小时前
【iOS】SDWebImage第三方库源码学习笔记
笔记·学习·ios·objective-c·cocoa
悠哉清闲6 小时前
C ++代码学习笔记(一)
c++·笔记·学习
星仔编程8 小时前
python学习DAY49打卡
学习
MowenPan19959 小时前
高等数学 9.1多元函数的基本概念
笔记·学习·高等数学
今天也要学习吖13 小时前
Azure TTS Importer:一键导入,将微软TTS语音接入你的阅读软件!
人工智能·学习·microsoft·ai·大模型·aigc·azure
楼田莉子14 小时前
C++算法学习专题:滑动窗口
开发语言·数据结构·c++·学习·算法·leetcode
小晶晶京京14 小时前
day38-HTTP
网络·网络协议·学习·http