从零学Java 集合概述

Java 集合概述

文章目录

  • [Java 集合概述](#Java 集合概述)
    • [1 什么是集合?](#1 什么是集合?)
    • [2 Collection体系集合](#2 Collection体系集合)
      • [2.1 Collection父接口](#2.1 Collection父接口)
        • [2.1.1 常用方法](#2.1.1 常用方法)
        • [2.1.2 Iterator 接口](#2.1.2 Iterator 接口)

1 什么是集合?

概念:对象的容器,定义了对多个对象进行操作的常用方法;可实现数组的功能。
和数组区别

  • 数组长度固定,集合长度不固定。
  • 数组可以存储基本类型和引用类型,集合只能存储引用类型。

2 Collection体系集合

Collection体系结构的根接口,代表一组对象,称为"集合"。

  • List接口的特点:有序有下标、元素可重复
  • Set接口的特点:无序无下标、元素不能重复

2.1 Collection父接口

特点:代表一组任意类型的对象。

2.1.1 常用方法

eg:

java 复制代码
/**
 * @author 胡昊龙
 * @version 1.0
 * @description: TODO
 * @date 2024/1/10 11:09
 */
public class Test {
    public static void main(String[] args) {
        //Collection接口的使用
        //创建集合
        Collection collection = new ArrayList();
        Collection collection1 = new ArrayList();
        //1 添加单个元素
        collection.add("北京");
        collection.add("上海");
        collection.add("杭州");
        collection.add("哈尔滨");
        collection.add("北京");
        collection1.add("廊坊");
        collection1.add("保定");
        collection1.add("保定");
        //1.1 添加整个集合
        collection.addAll(collection1);
        System.out.println("元素个数: "+collection1.size());
        System.out.println("打印: "+collection1);
        System.out.println("元素个数: "+collection.size());
        System.out.println("打印: "+collection);
        //2 删除
        //2.1 删除一个元素
        collection.remove("北京");
        System.out.println("删除以后: "+collection);
        //2.2 清空
        collection1.clear();
        System.out.println("清空: "+collection1);
        //3 遍历
        //3.1 增强for
        System.out.println("增强for-----------");
        for (Object o : collection) {
            System.out.println(o);
        }
        //3.2 迭代器:集合中专门用来遍历集合的
        System.out.println("迭代器------------");
        Iterator it = collection.iterator();
        //3.2.1 it.hasNext(); 判断是否还有元素
        //3.2.2 it.next(); 获取下一个元素
        while (it.hasNext()){
            Object next = it.next();
            System.out.println(next);
        }
        //3.2.3 it.remove(); 删除元素
        //4 判断
        //4.1 判断元素是否存在
        System.out.println(collection.contains("哈尔滨"));
        //4.2 判断集合是否为空
        System.out.println(collection1.isEmpty());
    }
}
2.1.2 Iterator 接口

Iterator:迭代器用来遍历集合的统一接口。

  • hasNext();判断是否还有元素
  • next();获取元素
  • remove();删除元素。
java 复制代码
//3.2 迭代器:集合中专门用来遍历集合的
System.out.println("迭代器------------");
Iterator it = collection.iterator();
//3.2.1 it.hasNext(); 判断是否还有元素
//3.2.2 it.next(); 获取下一个元素
while (it.hasNext()){
    Object next = it.next();
    System.out.println(next);
}
//3.2.3 it.remove(); 删除当前元素
//it.remove();

注意

  • 不能执行多次next()。
  • 在使用迭代器过程中,不能使用集合的删除方法,只能使用迭代器的删除方法,
    否则出现并发修改异常(ConcurrentModificationException)
相关推荐
ForteScarlet2 分钟前
Kotlin 2.2.20 现已发布!下个版本的特性抢先看!
android·开发语言·kotlin·jetbrains
兴科Sinco3 分钟前
[leetcode 1]给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出和为目标值 target 的那两个整数[力扣]
python·算法·leetcode
失散134 分钟前
分布式专题——4 大厂生产级Redis高并发分布式锁实战
java·redis·分布式·缓存·架构
MacroZheng6 分钟前
堪称一站式管理平台,同时支持Linux、MySQL、Redis、MongoDB可视化管理!
java·linux·后端
anlogic11 分钟前
Java基础 9.10
java·开发语言·算法
SimonKing12 分钟前
数据库又慢了?你需要一个像样的慢SQL报警系统
java·后端·程序员
程序员奈斯13 分钟前
Python深度学习:NumPy数组库
python·深度学习·numpy
yongche_shi15 分钟前
第二篇:Python“装包”与“拆包”的艺术:可迭代对象、迭代器、生成器
开发语言·python·面试·面试宝典·生成器·拆包·装包
深度学习lover15 分钟前
<数据集>yolo梨幼果识别数据集<目标检测>
python·yolo·目标检测·计算机视觉·数据集
Developer-YC22 分钟前
像素图生成小程序开发全解析:从图片上传到Excel图纸
java·javascript·图像处理·微信小程序·excel