Collection集合的遍历方式-迭代器,增强for循环,Lambda

集合体系概述

a73d45620a3b496b98a17c5dc2382d8a.png

27fcf73760d14b2ea5e3beb50e775bbb.png 5badfc2d2ef245258901ed8ba3533a19.png

 

 

 Collection是单列集合的祖宗,它规定的方法(功能)是全部单列集合都会继承的

public class Work1 {public static void main(String[] args)  {//简单认识一下Collection集合的特点ArrayList<String> list = new ArrayList<>();//有序 可重复 有索引list.add("java1");list.add("java2");list.add("java1");list.add("java2");System.out.println(list);System.out.println(list.get(1));HashSet<String> set = new HashSet<>();//无序 不重复 无索引set.add("java1");set.add("java2");set.add("java1");set.add("java2");set.add("java3");System.out.println(set);}
}

Collection的常用方法

1,public boolean add(E e):添加元素,添加成功返回true

Collection<String> c = new ArrayList<>();//多态写法c.add("java1");c.add("java1");c.add("java2");c.add("java2");c.add("java3");System.out.println(c);//[java1,java1,java2,java2,java3]

2,public void clear():清空集合的元素

        c.clear();System.out.println(c);//[]

3,public boolean isEmpty():判断集合是否为空,是空返回true,反之

System.out.println(c.isEmpty());//flase

4,public int size():获取集合的大小

System.out.println(c.size());//5

5,public boolean contains(Objects obj):判断集合中是否包含某个元素

System.out.println(c.contains("java1"));//true

6,public boolean remove(E e):删除某个元素,删除成功返回true :如果有多个重复元素默认删除前面的第一个!

System.out.println(c.remove("java1"));
System.out.println(c);//[java1,java2,java2,java3]

7,public Object[] toArray():把集合转换成数组

        Object[] arr = c.toArray();//把集合转换成数组System.out.println(Arrays.toString(arr));//转化成指定类型的数组形式String[] arr1 = c.toArray(new String[c.size()]);System.out.println(Arrays.toString(arr1));

8,把一个集合的全部数据倒入到另一个集合中去

        Collection<String> c1 = new ArrayList<>();c1.add("java1");c1.add("java2");Collection<String> c2 = new ArrayList<>();c2.add("java3");c2.add("java4");c1.addAll(c2);//把c2集合的全部数据倒入(拷贝)到c1集合中去System.out.println(c1);//[java1, java2, java3, java4]System.out.println(c2);//[java3, java4]

Collection的遍历方式

bdcecab6966b4e30b93cbf5f8ae557df.png

 

迭代器  遍历数组

迭代器概述:迭代器是用来遍历集合的专用方式(数组没有迭代器),在Java中迭代器的代表是Iterator

import java.util.*;public class Work1 {public static void main(String[] args)  {Collection<String> c = new ArrayList<>();//多态写法c.add("赵敏");c.add("小昭");c.add("素素");c.add("灭绝");System.out.println(c);//使用迭代器遍历数组//1,从集合中获取迭代器对象Iterator<String> it = c.iterator();//2,使用循环结合迭代器遍历集合while (it.hasNext()){String ele = it.next();System.out.println(ele);}}
}

增强for循环  遍历数组

968cb358679b4f85a3dc41874519fcf5.png

 

即能遍历循环,又能遍历数组

import java.util.*;public class Work1 {public static void main(String[] args)  {Collection<String> c = new ArrayList<>();//多态写法c.add("赵敏");c.add("小昭");c.add("素素");c.add("灭绝");System.out.println(c);//增强for遍历集合for (String ele : c){System.out.println(ele);}System.out.println("..............................");//增强for循环遍历数组String[] names = {"简隋英","李玉","洛羿","温小辉"};for (String name:names){System.out.println(name);}}
}

Lambda表达式  遍历集合

f191bb2e94ca413192ec738ea1836e8d.png

 

import java.util.*;
import java.util.function.Consumer;public class Work1 {public static void main(String[] args)  {Collection<String> c = new ArrayList<>();//多态写法c.add("娘娘腔");c.add("附加遗产");c.add("你却爱着一个傻逼");c.add("职业替身");System.out.println(c);c.forEach(new Consumer<String>() {@Overridepublic void accept(String s) {System.out.println(s);}});}
}

 3956f8b9a9224a97aaebd4552043ec1e.png

 

 

案例:遍历集合中的自定义对象

        需求:展示多部小说信息

        分析:1,每本小说都是一个对象,多部小说要使用集合装起来

                   2,遍历集合中的三个小说对象,输出每部电影的详情信息

import java.util.*;public class Work1 {public static void main(String[] args)  {Collection<movie> movies = new ArrayList<>();//往集合中添加对象.................................movies.add(new movie("《人鱼陷落》",9.5,"兰波"));movies.add(new movie("《德萨罗人鱼》",9.3,"德萨罗"));movies.add(new movie("《垂耳执事》",9.5,"言逸"));System.out.println(movies);//使用 增强for循环 遍历集合..........................for (movie m : movies) {System.out.println("名称:"+m.getName());System.out.println("评分:"+m.getScore());System.out.println("人物:"+m.getActor());}}
}
class movie{private String name;private double score;private String actor;public movie() {}public movie(String name, double score, String actor) {this.name = name;this.score = score;this.actor = actor;}public String getName() {return name;}public void setName(String name) {this.name = name;}public double getScore() {return score;}public void setScore(double score) {this.score = score;}public String getActor() {return actor;}//重写toString方法....................@Overridepublic String toString() {return "movie{" +"name='" + name + '\'' +", score=" + score +", actor='" + actor + '\'' +'}';}
}

 

 

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/195955.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【Vue2】Vue的介绍与Vue的第一个实例

文章目录 前言一、为什么要学习Vue二、什么是Vue1.什么是构建用户界面2.什么是渐进式Vue的两种开发方式&#xff1a; 3.什么是框架 三、创建Vue实例四、插值表达式 {{}}1.作用&#xff1a;利用表达式进行插值&#xff0c;渲染到页面中2.语法3.错误用法 五、响应式特性1.什么是响…

mysql中删除数据后,新增数据时id会跳跃,主键自增id不连续

引言&#xff1a; 在使用MySQL数据库时&#xff0c;有时候我们需要删除某些记录&#xff0c;但是删除记录后可能会导致表中的id不再连续排序。 如何实现删除记录后让id重新排序的功能。 如图&#xff1a; 删除数据后&#xff0c;中间的id不会自动连续。 下面有两种方法进行重…

医院绩效系统源码:基础数据管理、核算方法和分配规则、KPI评分公式等功能

医院绩效管理系统源码&#xff0c;医院绩效管理数据采集的自动化和绩效评估数字化 医院绩效管理系统以国家医院绩效管理考核政策法规为依据&#xff0c;结合医院管理实践&#xff0c;以经济管理指标为核心&#xff0c;医疗质量、安全、效率、效益管理为重点&#xff0c;特别强调…

unity3d模型中缺失animation

在 模型的Rig-Animationtype 设置成Legacy https://tieba.baidu.com/p/2293580178

OWASP SAMM 软件保障成熟度模型

软件保障成熟度模型 我们的使命是为您提供一种有效且可衡量的方式来分析和改进您的安全开发生命周期。 SAMM 支持完整的软件生命周期&#xff0c;并且与技术和流程无关。我们构建的 SAMM 本质上是不断发展和风险驱动的&#xff0c;因为没有一种单一的配方适用于所有组织。奥瓦…

JVM——垃圾回收器(G1,JDK9默认为G1垃圾回收器)

1.G1垃圾回收器 JDK9之后默认的垃圾回收器是G1&#xff08;Garbage First&#xff09;垃圾回收器。 Parallel Scavenge关注吞吐量&#xff0c;允许用户设置最大暂停时间 &#xff0c;但是会减少年轻代可用空间的大小。 CMS关注暂停时间&#xff0c;但是吞吐量方面会下降。 而G1…

【C语言】扫雷小游戏初学者版

成功的秘诀就是每天都比别人多努力一点。 今天给大家带来一款非常经典的小游戏——扫雷的实现和讲解 这里是目录 前言整体框架1.打印菜单2.创建二维数组3.初始化棋盘4.打印棋盘5.布置棋盘中的雷6.排查雷和统计雷总体代码test.cgame.cgame.h 进阶&#xff08;递归展开&#xff0…

CityEngine2023 shp数据城市与路网三维模型并导入UE5

目录 0 引言1 城市和道路数据获取1.1 常用方法1.2 OSM数据获取1.3 OSM数据格式1.3.1 所有格式1.3.2 Shapefile格式 2 实践2.1 导入数据&#xff08;.shp&#xff09;2.2 构建三维模型2.3 将模型导入UE5 &#x1f64b;‍♂️ 作者&#xff1a;海码007&#x1f4dc; 专栏&#xf…

手机传输数据到电脑该怎么操作?安卓、苹果都可以这样操作

安卓手机 你知道安卓手机传输数据到电脑的方法有哪些吗&#xff1f;下面我们就一起来看一看可以使用的一些方法。 采用 USB 数据线 这个方法应该是我们生活中较为常见的方法了&#xff0c;我们只需要使用手机的充电线&#xff0c;将其连接到电脑上&#xff0c;然后手机可能会…

Motion Plan之轨迹生成笔记 (2)

Motion Plan之搜索算法笔记 Motion Plan之基于采样的路径规划算法笔记 Motion Plan之带动力学约束路径搜索 什么是基于优化的轨迹生成 Optimization-Based Trajectory Planning&#xff08;基于优化的轨迹规划&#xff09;是一种常用的方法&#xff0c;用于生成自动化系统&am…

2.4 API 开发和集成

文章目录 API 开发和集成API 的概念和作用API 开发基础API 集成API 鉴权和安全API 文档和测试微服务和 API 网关云服务和 API 集成未来趋势和发展实验实验一&#xff1a; 通过api post方式传入 json实验二&#xff1a;通过api将所需数据传入 API 开发和集成 API 的概念和作用介…

StarRocks上新,“One Data、All Analytics”还有多远?

K.K在《未来十二大趋势》中认为&#xff0c;我们正处于一个数据流动的时代。商业乃数据之商业。归根结底&#xff0c;你在处理的都是数据。 的确&#xff0c;当数据成为新的核心生产要素之际&#xff0c;数据分析就犹如最重要的生产工具之一&#xff0c;决定着企业在数字化时代…

Python爬虫超详细讲解(零基础入门,包教包会)

先看后赞&#xff0c;养成习惯。 点赞收藏&#xff0c;人生辉煌。 讲解我们的爬虫之前&#xff0c;先概述关于爬虫的简单概念&#xff08;毕竟是零基础教程&#xff09; 爬虫 网络爬虫&#xff08;又被称为网页蜘蛛&#xff0c;网络机器人&#xff09;就是模拟浏览器发送网络…

【Avue】select的远程搜索 [模糊搜索]

一、需求 【模糊搜索】 二、实现avue的远程搜索 1、search为搜索 2、remote远程搜索 3、dictValue{{key}}为输入的值

数实融合!低代码推动工业数字化转型走“深”向“实”

当下&#xff0c;“数字化、智能化”已经不再是新鲜词。毕竟&#xff0c;在早几年前就已经有企业喊出大举进军数字化的口号&#xff0c;轰轰烈烈的数字化转型运动也持续了很长一段时间&#xff0c;有一些业内人士甚至判断“如今的企业数字化已经走过了成熟期&#xff0c;来到了…

使用群晖Docker搭建HomeAssistant并实现异地公网访问家中智能设备

最近&#xff0c;我发现了一个超级强大的人工智能学习网站。它以通俗易懂的方式呈现复杂的概念&#xff0c;而且内容风趣幽默。我觉得它对大家可能会有所帮助&#xff0c;所以我在此分享。点击这里跳转到网站。 使用群晖Docker搭建HomeAssistant并实现异地公网访问 文章目录 使…

Shopee买家通系统内置防指纹技术可解决多账号管理操作

为了解决多账号管理的难题&#xff0c;我们发现了一款强大的利器——Shopee买家通系统&#xff0c;它为我们提供了便捷而高效的辅助操作。这款系统基于先进的指纹浏览器技术开发&#xff0c;实现了全自动化的操作&#xff0c;让多账号管理变得轻而易举。 Shopee买家通系统内置了…

element-ui upload组件中将file文件数据转成二进制流数据格式

方法一 handleBeforeUpload (file)const reader new FileReader()reader.readAsArrayBuffer(file)reader.onload async function (theFile) {const binary new Blob([theFile.target.result]) // 转成二进制流数据 即binary数据格式}}方法二 const aBlob new Blob([file],…

有关ADW400环保监测模块的详细介绍-安科瑞 蒋静

1 概述 ADW400 环保监测模块主要用于计量低压网络的三相有功电能&#xff0c;同时可选择最大四个回路的电流输入&#xff0c;具有 RS485 通讯和 470MHz 无线通讯功能&#xff0c;方便用户进行用电监测、集抄和管理。可灵活安装于配电箱内&#xff0c;实现对不 同区域和不同负荷…

深入探讨网络抓取:如何使用 Scala 和 Dispatch 获取 LinkedIn 图片

网络抓取是一种从互联网上获取数据的技术&#xff0c;它可以用于各种目的&#xff0c;例如数据分析、信息检索、竞争情报等。网络抓取的过程通常包括以下几个步骤&#xff1a; 发送 HTTP 请求到目标网站解析响应的 HTML 文档提取所需的数据存储或处理数据 在本文中&#xff0…