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

宁波网站建站的公司百度小程序怎么进入

宁波网站建站的公司,百度小程序怎么进入,做微信扫码网站,北京东城网站建设公司目录 1.0 Collection 类的说明 1.1 Collection 类中的实例方法 2.0 Collection 集合的遍历方式(重点) 2.1 使用迭代器( Iterator )进行遍历 2.2 使用增强型 for 循环进行遍历 2.3 使用 Java 8的 Stream API 进行遍历(使…

目录

        1.0 Collection 类的说明

        1.1 Collection 类中的实例方法

        2.0 Collection 集合的遍历方式(重点)

        2.1 使用迭代器( Iterator )进行遍历

        2.2 使用增强型 for 循环进行遍历

        2.3 使用 Java 8的 Stream API 进行遍历(使用 Lambda 表达式进行遍历)


        1.0 Collection 类的说明

        Collection 类是 Java 单列集合框架中的根接口,它是所有单列集合类的父接口。Collection接口有多个实现类,常用有 ArrayList:基于数组实现的动态数组,支持随机访问和快速插入、删除元素。

        1.1 Collection 类中的实例方法

代码如下(以举例子的形式来介绍):

import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collection;public class CollectionAPI {public static void main(String[] args) {//因为 Collection 是接口,故不能直接创建对象,// 那么需要利用它实现类 ArrayList 类,且支持泛型类Collection<String> collection = new ArrayList<>();// 1. Collection 中 add() 的实例方法,添加元素collection.add("二哈");collection.add("金毛");collection.add("拉布拉多");collection.add("中华田园犬");collection.add("二哈");System.out.println(collection);//输出结果为:[二哈, 金毛, 拉布拉多, 中华田园犬, 二哈]// 2. Collection 中 size() 的实例方法,获取集合的大小System.out.println(collection.size());//输出结果为:5// 3. Collection 中 contains() 的实例方法,// 判断是否包含某个元素,是则返回true ,不是则返回falseSystem.out.println(collection.contains("二哈"));//输出结果为:true// 4. Collection 中 remove() 的实例方法// 删除某个元素,如果是该元素是重复的时候,删除的是第一个该元素collection.remove("二哈");System.out.println(collection);//输出的结果为:[金毛, 拉布拉多, 中华田园犬, 二哈]// 5. Collection 中 clear() 的实例方法,清空集合中的元素collection.clear();System.out.println(collection);//查看集合中的元素,输出结果为: []// 6. Collection 中 isEmpty() 的实例方法,// 判断集合元素是否为空,是空则放回true,不是空则返回falseSystem.out.println(collection.isEmpty());//输出结果为:true// 7. Collection 中 toArray() 的实例方法,把集合转化为数组//先添加一些元素collection.add("二哈");collection.add("二哈");//调用 toArray() 的实例方式,类型是 String 类型,//虽然集合支持泛型,但是在运行的时候会被擦除,所以为了兼容,//建议用所以用 Object[] 类型的数组来接收Object[] str = collection.toArray();System.out.println(Arrays.toString(str));//输出的结果为:[二哈, 二哈]}
}

运行结果如下:

        2.0 Collection 集合的遍历方式(重点)

        先来提出两个疑问,为什么集合遍历不可以用普通的 for 循环?有什么方法可以对集合进行遍历呢?

        回答第一个问题:集合遍历不可以用普通的 for 循环,是因为集合类的元素个数是动态变化的,而普通的 for 循环是基于固定的元素个数进行遍历的。当集合类的元素个数发生变化时,普通的 for 循环无法正确遍历所有元素,可能会出现越界等错误。

        回答第二个问题:Collection 集合的遍历方式主要有三种:使用迭代器( Iterator )进行遍历、使用增强型 for 循环进行遍历、使用 Lambda 表达式进行遍历(可以使用 Stream forEach() 方法遍历)

        2.1 使用迭代器( Iterator )进行遍历

        首先通过调用集合的 iterator() 方法获取一个迭代器对象,然后使用 while 循环和迭代器的 hasNext() next() 方法进行遍历。

代码如下:

  

import java.util.*;
public class CollectionAPI {public static void main(String[] args) {Collection<String> c = new ArrayList<>();c.add("二哈");c.add("金毛");c.add("拉布拉多");c.add("中华田园犬");//使用迭代器( Iterator )进行遍历://首先需要通过 iterator() 方法获取一个迭代器对象,Iterator iterator = c.iterator();//然后使用 while 循环和迭代器的 hasNext() 和 next() 方法进行遍历.while (iterator.hasNext()){System.out.println(iterator.next());}}
}

运行结果如下:

        详解 hasNext()next() 方法,hasNext() 判断当前指向的集合中的元素是否为空,空则返回 false ,反则返回 true next() 做了两个动作,第一个动作就是获得了当前的集合元素,第二个动作就是指向下一个集合中的元素。连贯起来就是先得到当前所指向的元素,再指向下一个集合中的元素。

        补充: 数组不可以用迭代器,是因为迭代器是集合框架中的一种数据访问方式,而数组不属于集合框架,它是 Java 语言中的一种基本数据结构,所以无法使用迭代器。

        2.2 使用增强型 for 循环进行遍历

         增强型 for 循环可以直接遍历集合中的元素,无需使用迭代器。但是其中的本质还是使用了迭代器,增强 for 循环就是对迭代器的一种简化写法。

        作为常识了解一下:当使用增强型 for 循环遍历一个集合时,编译器会自动为我们生成一个迭代器,并使用迭代器的 hasNext() next() 方法来遍历集合中的元素。所以,虽然我们在使用增强型 for 循环时不需要显式地调用迭代器的方法,但实际上是在间接地使用了迭代器。(增强 for 循环出现的目的就是简化代码)

        还有需要注意的是:对于数组,我们不能直接使用迭代器进行遍历。迭代器是用于遍历集合类(如 ListSet 等)的数据结构的工具,而数组不是集合类,它是一种基本的数据结构。然而对于数组,我们可以直接使用增强 for 循环

代码如下:

import java.util.*;
public class CollectionAPI {public static void main(String[] args) {Collection<String> c = new ArrayList<>();c.add("二哈");c.add("金毛");c.add("拉布拉多");c.add("中华田园犬");for (String s : c) {System.out.println(s);}}
}

运行结果如下:

        2.3 使用 Java 8的 Stream API 进行遍历(使用 Lambda 表达式进行遍历)

        Java 8 引入了 Stream API,可以使用 Stream 的 forEach() 方法遍历集合中的元素。

       集合中提供的 forEach() 实例方法中的参数为匿名内部类 Consumer<>  是函数式接口,需要重写接口内部的 accept() 方法。

        本质 forEach() 方法是增强 for 循环,可以看看原代码:

代码如下:

public class CollectionAPI {public static void main(String[] args) {Collection<String> c = new ArrayList<>();c.add("二哈");c.add("金毛");c.add("拉布拉多");c.add("中华田园犬");/*        c.forEach(new Consumer<String>() {@Overridepublic void accept(String s) {System.out.println(s);}});*///之所以可以称为 Lambda 表达式遍历,// 是因为可以用 Lambda 表达式来遍历c.forEach( s -> System.out.println(s) );System.out.println("----------------------");//还可以继续简化c.forEach( System.out::println);}
}

运行结果如下:

  

 如果对匿名内部类或者是 Lambda 表达式运用还不是很熟悉的话,可以点击以下的链接去了解一下:

进阶JAVA篇- Lambda 表达式与 Lambda 表达式的省略规则-CSDN博客



http://www.hkea.cn/news/32363/

相关文章:

  • 适合友情链接的网站排名函数
  • 开发公司岗位设置广州seo招聘网
  • 国内web设计网站宣传推广
  • 深圳高端网站定制公司小时seo
  • wordpress主菜单下拉箭头怎么设置台州seo排名优化
  • 网站系统管理员模块关键词查找工具
  • 望江县建设局网站外贸seo推广招聘
  • 微信网站上传图片手机怎么制作网站
  • 简单做网站需要学什么搜索引擎有哪些网站
  • 网站备案信息加到哪里如何进行网站推广
  • 昭通网站制作aso优化技巧
  • 制作网站时怎样做滚动字幕新网站多久会被百度收录
  • 余姚物流做网站微信指数是搜索量吗
  • 怎样做网站轮播今日国内重大新闻事件
  • 想给大学做网站百度网盘搜索神器
  • jsp网站开发论文官方app下载安装
  • 关于机场建设的网站今日疫情最新情况
  • 网站域名注册服务商google浏览器官方
  • 通过网站开发工具怎么改自动跳网站百度指数有哪些功能
  • 可以发锚文本的网站百度搜索官方网站
  • 东莞网站建设企慕简述如何优化网站的方法
  • 可以做网站的公司seo外包
  • 自己怎么做网站视频赚钱5g网络优化培训
  • 数据库修改网站管理员密码seo网站有优化培训吗
  • 福田做商城网站建设找哪家公司好抖音怎么运营和引流
  • 厘米售卡站怎么做网站禁止搜索引擎收录的方法
  • 网站首页滚动图片怎么做谷歌搜索关键词排名
  • 嵩县网站开发友情链接获取的途径有哪些
  • 国家企业信息公示网(广东)海南快速seo排名优化
  • 高端网站设计 上海徐州seo排名公司