当前位置: 首页 > 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.lryc.cn/news/618081.html

相关文章:

  • Python网络爬虫(一) - 爬取静态网页
  • 爬虫与数据分析结合:中国大学排名案例学习报告
  • TDengine IDMP 基本功能(2.数据建模)
  • 爬虫与数据分析结和
  • 爬虫与数据分析入门:从中国大学排名爬取到数据可视化全流程
  • MySQL详细安装
  • 《算法导论》第 18 章 - B 树
  • 【MYSQL】MySQL中On duplicate key update
  • Dify入门指南(2):5 分钟部署 Dify:云服务 vs 本地 Docker
  • Python自动化测试实战:reCAPTCHA V3绕过技术深度解析
  • 常见鱼饵制作方式
  • Flutter学习笔记(六)---状态管理、事件、路由、动画
  • Vuex和Pina的区别
  • Prompt Engineering 最佳实践:让AI输出更精准的核心技巧
  • MaixPy简介
  • 贪心----2.跳跃游戏
  • 【09】中兴通讯——中兴 软件工程师 第一轮一面,技术面,校招,面试问答记录
  • QML的中英文翻译
  • OpenCV计算机视觉实战(19)——特征描述符详解
  • 【前端基础】16、结构伪类(注:粗略说明)
  • Facebook广告投放进阶:ABO精测与CBO放量的协同增长策略
  • 计算机网络---DNS(域名系统)
  • Java 大视界 -- Java 大数据在智能安防视频监控系统中的多目标跟踪与行为分析优化(393)
  • [Ubuntu] xrdp共享连接 Ubuntu 屏幕 | xfce4
  • 爬虫与数据分析结合案例
  • C++11的历史和统一的初始化列表
  • 数据填报是什么?数据填报工具有哪些?
  • 蓝桥杯算法之搜索章 - 4
  • 【单板硬件开发】关于复位电路的理解
  • 掌握do-while循环:从语法到运用