当前位置: 首页 > news >正文

Java -- 集合 --Collection接口和常用的方法

目录

数组:

集合:

Collection接口和常用的方法

Iterator(迭代器)

for循环增强


1. 前面我们保存多个数据使用的是数组,那么数组有不足的地方。

数组:

1. 长度开始必须指定,而且一旦指定,不能更改

2. 保存的必须为同一类型的元素

3. 使用数组进行增加/删除元素的示意代码 - 比较麻烦


集合:

1. 可以动态保存任意多个对象,使用方便

2. 提供了一系列方便的操作对象的方法:add,remove,set,get等

3. 使用集合添加,删除新元素的示意代码 - 简洁

// 集合有 单列集合 , 双列集合//Collection 接口有俩个重要的子接口 list set(单列集合)// Map 接口的实现子类 是 双列集合 存放的是 K-V// 把图记下来ArrayList arrayList = new ArrayList();arrayList.add("jake");arrayList.add("tom");HashMap hashMap = new HashMap();hashMap.put("n1","北京");hashMap.put("n2","上海");

Collection接口和常用的方法

1. collection实现子类可以存放多个元素,每个元素可以是Object

2. 有些Collection的实现类,有些是有序的(List),有些不是有序(Set)

3. 有些Collection的实现类,有些可以存放重复的元素,有些不可以

4. Collection接口没有直接的实现子类,是通过它的子接口Set和List来实现的

 List list = new ArrayList();//add 添加单个元素list.add("jake");list.add(10);list.add(true);System.out.println("list= " + list);// remove 删除元素list.remove(1);System.out.println("list=" + list);//contains 查找元素是否存在System.out.println(list.contains("jake")); // T// size 返回元素的个数System.out.println(list.size());//2// isEmpty 判断是否为空System.out.println(list.isEmpty());//F// clear 清空// addAll 添加多个元素ArrayList arrayList2 = new ArrayList();arrayList2.add("红罗梦");arrayList2.add("三国");list.addAll(arrayList2);System.out.println(arrayList2);// containsAll 判断多个元素是否存在System.out.println(list.containsAll(arrayList2));//removeAll 删除多个元素list.removeAll(arrayList2);System.out.println("arrayList2=" + arrayList2);

Iterator(迭代器)

1. Iterator对象称为迭代器,主要用于遍历Collection集合中的元素

2. 所以实现了Collection接口的集合类都有一个iterator()方法,用以返回一个实现了Iterator接口的对象,既可以返回一个迭代器

注意:在调用iterator.next()方法之前必须要调用iterator.hasNext()进行检测。若不调用,且下一条记录无效,直接调用it.next()会抛出NoSuchElementException异常。


for循环增强

//使用增强for  快捷键 Ifor (Object book:col){System.out.println("book="+book);}//增强for 也可以直接在数组上使用int[] nums ={1,8,10,19};for (int i:nums) {System.out.println("i="+i);}

http://www.dtcms.com/a/325821.html

相关文章:

  • (3万字详解)Linux系统学习:深入了解Linux系统开发工具
  • leetcode 15 三数之和
  • 【《数字货币量化交易:Linux下策略回测平台的搭建》】
  • 2025-2026 专升本论文写作【八项规范】
  • [202404-B]画矩形
  • 微信小程序常用 API
  • Arcpy-重采样记录
  • B站直播, 拼接4个窗口,能否实现
  • 从源码看 Coze:Agent 的三大支柱是如何构建的?
  • 【优化】图片批量合并为word
  • 嵌入式学习day24
  • MySQL的索引(索引的数据结构-B+树索引):
  • P2865 [USACO06NOV] Roadblocks G
  • 音视频学习(五十三):音频重采样
  • 数据备份与进程管理
  • AI大模型:(二)5.1 文生视频(Text-to-Video)模型发展史
  • Apache ECharts 6 核心技术解密 – Vue3企业级可视化实战指南
  • Apache Ignite 核心组件:GridClosureProcessor解析
  • ChatML vs Harmony:深度解析OpenAI全新对话结构格式的变化
  • 基于Spring Boot房源信息推荐系统的设计与实现 -项目分享
  • Maven <pom.xml> 标签详尽教程
  • perl notes【1】
  • 云原生环境Prometheus企业级监控
  • 【Node.js从 0 到 1:入门实战与项目驱动】1.3 Node.js 的应用场景(附案例与代码实现)
  • 论文阅读:Aircraft Trajectory Prediction Model Based on Improved GRU Structure
  • 《开源标准推动Linux驱动生态繁荣》
  • 实现分页功能【jQuery】
  • GDB调试 core dump 文件与栈溢出分析
  • 《Python入门:从零到Hello World的极简指南》
  • 板子 7.20--8.11