Java常见集合遍历方式

public static void main(String[] args) {
ListFor(2);
}

public static void ListFor(int a){
//测试list集合遍历(直接有四种遍历方式)
final ArrayList integers = new ArrayList<>();
integers.add(1);
integers.add(2);
integers.add(3);
integers.add(4);
//测试set集合遍历(一般转换成数组进行遍历)
HashSet strings = new HashSet<>();
strings.add("张三");
strings.add("123");
strings.add("张三");
//测试map集合遍历
HashMap map = new HashMap<>();
map.put(1,"麻婆豆腐");
map.put(2,"红烧牛肉");
map.put(3,"狮子头");


//1.经典循坏遍历:效率最高遍历快,但是不适用于所有集合实用范围小
if (a==1) {
//list集合遍历
for (int i = 0; i < integers.size(); i++) {
System.out.println(integers.get(i));
}
//set集合遍历
Object[] objects = strings.toArray();
for (int i = 0; i < objects.length; i++) {
System.out.println(objects[i]);
}
}
//2.迭代器遍历:遍历时可以操作元素,但是相对于其他遍历方式效率比较慢
if (a==2){
//list集合遍历
Iterator iterator = integers.iterator();
while (iterator.hasNext()){
System.out.print(iterator.next());
}
//set集合遍历
Iterator iterator1 = strings.iterator();
while (iterator1.hasNext()){
System.out.println(iterator1.next());
}
//map集合遍历
Iterator> iterator2 = map.entrySet().iterator();
while (iterator2.hasNext()){
Map.Entry entry = iterator2.next();
System.out.println(entry.getKey());
System.out.println(entry.getValue());
}
}
//3.加强for循环遍历:代码简洁,但是不能操作元素
if (a==3){
//list集合遍历
System.out.println("加强for循环遍历结果:");
for (Integer integer:integers){
System.out.println(integer);
}
//set集合遍历
for (String str:strings){
System.out.println(str);
}
//map集合遍历
for (Map.Entry entry : map.entrySet()) {
System.out.println(entry.getKey());
System.out.println(entry.getValue());
}
}
//4.lambda表达式遍历
if (a==4){
System.out.println("lambda表达式遍历");
// JDK8之后才有的遍历
// integers.forEach(integer-> System.out.println(integer));
}
}
,>
,>
,>

Original: https://www.cnblogs.com/hxbhxb/p/16455346.html
Author: 金涛骇浪
Title: Java常见集合遍历方式

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/575210/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

  • 好久不见~日常修炼离散数学~

    整理的一个离散数学的第四、五章! 瞧瞧! 感谢观看!!!!! posted @2022-04-26 20:36 一冲子 阅读(24 ) 评论() 编辑 Original: http…

    Java 2023年6月5日
    075
  • servlet获取表单数据

    Java servlet获取form表单数据(参数) 在 Servlet 中如何使用 HttpServletRequest 获取请求参数和 request 对象传递数据有哪些方法。…

    Java 2023年6月14日
    0107
  • Linux安装nginx,使用nginx做图片服务器

    nginx官网:http://nginx.org/download/ 这里使用的是nginx-1.8.0.tar.gz进行安装 首先安装GCC编辑器: 执行下面命令即可,前提: 必…

    Java 2023年6月9日
    067
  • Windows 下 Nginx 配置 多个conf 文件的过程与注意事项

    Windows 下配置 Nginx 使用多个conf 文件的Include 路径与Linux 有所不同。 如上: Windows : include ../conf.d/*.con…

    Java 2023年5月30日
    073
  • mybatis添加代码出现是第几条数据

    mybatis添加代码出现是第几条数据 posted on2022-04-20 16:48 水水头不秃 阅读(9 ) 评论() 编辑 Original: https://www.c…

    Java 2023年6月5日
    070
  • java 将日期格式中的月份为转换为3个英文字母

    posted @2020-06-05 17:57 筱筱的春天 阅读(3190 ) 评论() 编辑 Original: https://www.cnblogs.com/baxianh…

    Java 2023年5月29日
    075
  • java集合类的比较

    java集合类的比较 正文: 判断集合是否相等,使用org.apache.commons.collections包下 CollectionUtils.isEqualCollecti…

    Java 2023年6月7日
    063
  • 云原生系列1 pod基础

    成组资源调度问题的解决。 mesos采用的资源囤积策略容易出现死锁和调度效率低下问题;google采用的乐观调度技术难度非常大; 而k8s使用pod优雅的解决了这个问题。 pod的…

    Java 2023年6月8日
    075
  • 黑炫酷的监控界面,实际上是用了什么开源工具?

    我是3y,一年 CRUD经验用十年的 markdown程序员👨🏻‍💻常年被誉为职业八股文选手 今天austin项目来给大家整点不一样的:花点时间跟着文章做完,屏幕壁纸就可以有了,我…

    Java 2023年6月9日
    054
  • 畅游Flink之API-Part1(Java版)

    1.Transform 1.1.基本转换算子 map/flatMap/filter map 把数组流中的每一个值,使用所提供的函数执行一遍,一一对应。得到元素个数相同的数组流 fl…

    Java 2023年6月5日
    079
  • Markdowm基础语法的使用(typora)

    Mackdown学习 一级标题:一个#加空格 回车 二级标题:两个#加空格 回车 以此类推… 一级标题(Ctrl+1) 二级标题(Ctrl+2) 三级标题(Ctrl+3…

    Java 2023年6月16日
    094
  • Java:JVM基础——堆(Java8)

    1、堆的介绍 Java 虚拟机所管理的内存中最大的一块,Java 堆是所有线程共享的一块内存区域,在虚拟机启动时创建。 此内存区域的唯一目的就是存放对象实例,几乎所有的对象实例以及…

    Java 2023年6月7日
    058
  • 常用快捷键和dos命令

    ctrl+a全选 ctrl+s保存 ctrl+z撤销 ctrl+x剪切 ctrl+c复制 ctrl+v粘贴 ctrl+f查找 crtl+w关闭窗口 crtl+shift+esc任务…

    Java 2023年6月5日
    081
  • 迭代器Iterator

    迭代器是对集合进行遍历,而每一个集合内部的存储结构都是不同的,所以每一个集合存和取都是不一样,那么就需要在每一个类中定义hasNext()和next()方法,这样做是可以的,但是会…

    Java 2023年6月9日
    054
  • Stream流式计算

    Stream流式计算 集合/数据库用来进行数据的存储而计算则交给流 undefined public class Demo { public static void main(St…

    Java 2023年6月5日
    094
  • SpringBoot数据库管理-用flyway对数据库管理和迁移

    上文介绍了Liquibase,以及和SpringBoot的集成。除了Liquibase之外,还有一个组件Flyway也是经常被使用到的类似的数据库版本管理中间件。本文主要介绍Fly…

    Java 2023年6月6日
    076
亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球