一、List集合遍历 (有序、可重复)

(1)iterator迭代器遍历(推荐)

原因:iterator对象遍历不同的List类型,返回的iterator对象实现不同,访问效率较高

 List<String> array = new ArrayList<String>();array.add("奥沙利文");array.add("丁俊晖");array.add("傅家俊");System.out.println("-------------迭代器-----------------------------");Iterator<String> it = array.iterator();while (it.hasNext()) {System.out.println(it.next());}

(2)for循环遍历(不推荐)

原因:针对与List接口下的类访问效率不同

 for (int i = 0; i < array.size(); i++) {System.out.println(str.get(i));}

(3)增强for循环遍历(for each循环)

原因:只要实现Iterable接口的集合类都可以直接用for each循环来遍历

 for (String str : array) {System.out.println(str);}

二、Set集合遍历(无序、唯一)

(1)iterator迭代器遍历(推荐)

 Set<String> set = new HashSet<String>();set.add("小明");set.add("小冯");set.add("小李");Iterator<String> it = set.iterator();while (it.hasNext()) {System.out.println(it.next());}

(2)增强for循环遍历(for  each循环)

for(String s:set){System.out.println(s);
}

三、Map集合遍历

以HashMap为例

底层:数组+链表+红黑树

key:Keyset() (set:无序、唯一)

value:values()(Collection集合)

(1)、增强for循环遍历(for each)

     HashMap<String, Integer> map = new HashMap<String, Integer>();map.put("马云", 23);map.put("马化腾", 22);map.put("肖总", 3);map.put("田总", 2);Set<String> s = map.keySet();for (String a : s) {System.out.println(a + "=" + map.get(a));}

(2)、增强for结合(Map.Entry)

Set<Entry<String, Integer>> a = map.entrySet();for (Entry<String, Integer> s1 : a) {String key = s1.getKey();Integer value = s1.getValue();System.out.println(key + "=" + value);}

(3)、迭代器遍历(Interator)

 Set<Entry<String, Integer>> set = map.entrySet();Iterator<Entry<String, Integer>> iterable = set.iterator();while (iterable.hasNext()) {Entry<String, Integer> e = iterable.next();System.out.println(e.getKey() + "=" + e.getValue());}

四、Queue集合遍历

1.Collection(List、Queue、Set)

2.遵循先入先出(FIFO:First In First Out)

3.LinkedList集合(无界)和ArrayBlockingQueue(有界)都实现了Queue接口

4.只能进行添加元素至尾部、从队列头部取元素两个操作

5.将元素添加到队尾:offer()/add()

将元素取出并从队列中删除:remove()/poll()

将元素取出并从队列中但不删除:element()/peek()

(1)判空操作遍历

     Queue<String> q = new LinkedList<String>();q.offer("A");q.offer("B");q.offer("C");q.offer("D");while (!q.isEmpty()) {System.out.println(q.poll());}

(2)q.peek()==null (取完后为null)

 while (q.peek() != null) {System.out.println(q.poll());}

(3)迭代器遍历

 Iterator<String> iterator = q.iterator();while (iterator.hasNext()) {System.out.println(iterator.next());}

五、Deque集合遍历

(1)两端可取元素,可添加元素

(2)继承Queue

public interface Deque<E> extends Queue<E> {
    }

 Deque<String> e = new LinkedList<String>();e.offer("A");e.offer("B");e.offer("C");e.offer("F");e.offer("D");System.out.println(e);//方式一//从头到尾遍历while (e.peekFirst() != null) {System.out.println(e.pollFirst());}// 从尾到头遍历while (e.peekLast() != null) {System.out.println(e.pollLast());}
//方式二// 判空操作// 头->尾while (!e.isEmpty()) {System.out.println(e.pollFirst());}// 尾->头while (!e.isEmpty()) {System.out.println(e.pollLast());}
//方式三// 迭代器遍历Iterator<String> i = e.iterator();while (i.hasNext()) {System.out.println(i.next());}

六、Stack栈的遍历

后进先出Last in First out (LIFO)

把元素压栈:push()

把栈顶的元素弹出:pop()

显示栈顶的元素:peek()

 Stack<String> s = new Stack<String>();s.push("A");s.push("B");s.push("F");s.push("D");// 迭代器遍历Iterator<String> i = s.iterator();while (i.hasNext()) {System.out.println(i.next());}// 判空操作while (!s.isEmpty()) {System.out.println(s.pop());}// 增强for循环遍历for (String s1 : s) {System.out.println();}//不健全会抛异常(EmptyStackException)while (s.peek() != null) {System.out.println(s.pop());}

List、Set、Map、Queue、Deque、Stack的遍历方式总结相关推荐

  1. Map集合的几种遍历方式

    Map<String ,String> map=new HashMap<String,String>(); map.put("1","value1 ...

  2. java map遍历_Java中Map集合的两种遍历方式

    Java中的map遍历有多种方法,从最早的Iterator,到java5支持的foreach,再到java8 Lambda,让我们一起来看下Java中Map集合的两种遍历方式! 关于遍历Map集合的几 ...

  3. java中两种遍历集合的方式_Java中Map集合的两种遍历方式

    Java中的map遍历有多种方法,从最早的Iterator,到java5支持的foreach,再到java8 Lambda,让我们一起来看下Java中Map集合的两种遍历方式! 关于遍历Map集合的几 ...

  4. Java集合篇:Map集合的几种遍历方式及性能测试

    文章目录 一.写在前面 二.正式开始探究之旅 1. Map集合一共有多少种遍历方式呢? 2.那这几种遍历方式的具体用法是啥样的呢? 2.1 keySet()方式遍历-------for循环 2.2 k ...

  5. 遍历Map要选择好的遍历方式(洛谷P1097题题解,Java语言描述)

    题目要求 P1097题目连接 分析 这题标签里有一个"高性能",瞬间令我心惊胆战,毕竟Java嘛. 我们应该会写排序,比如快排,但可以利用现成的数据结构啊,本来想的是TreeSet ...

  6. Java中Map集合的三种遍历方式

    文章目录 Map集合的遍历方式 Map集合的遍历方式一: 键找值 Map集合的遍历方式二: 键值对 Map集合的遍历方式三: Lambda Map集合的遍历方式 Map集合的遍历方式有3种: 方式一: ...

  7. map集合嵌套list集合遍历方式

    package com.cy.test21;import java.util.ArrayList; import java.util.HashMap; import java.util.Set;/** ...

  8. Map集合的四种遍历方式

    Map集合的遍历1-键找值 (Iterator 遍历) Map<String,String> map = new HashMap<String, String>();map.p ...

  9. 【java】Map集合的遍历方式有几种?

    因为下一个博客想写Hashtable集合下的一个子类Properties集合,但是Map集合的遍历方式又有点遗忘了........... 下面通过API来复习一下: 文章目录 1. Map集合的第一种 ...

最新文章

  1. 【高并发】又一个朋友面试栽在了Thread类的stop()方法和interrupt()方法上!
  2. php sort 不同类型导致的问题
  3. 作者:金海,博士,华中科技大学计算机科学与技术学院教授、博士生导师。...
  4. zClock - 置顶时钟, 倒计时, 网速显示
  5. C#开发WPF/Silverlight动画及游戏系列教程(Game Tutorial):(四)实现2D人物动画①
  6. CCF201809-2 买菜
  7. 清明节特辑 |记忆存储、声音还原、性格模仿……AI可以让人类永生吗?
  8. 滴滴春节期间加强司机安全教育 考核通过才能上岗
  9. 微型计算机原理第二版学习辅导,微型计算机原理及应用学习辅导.pdf
  10. VC++多线程工作笔记0001---认识与创建线程
  11. Kerberos安装及拖管Ambari 2.7
  12. 设计模式第四篇-工厂模式
  13. 移动端click事件延迟300ms到底是怎么回事,该如何解决?
  14. 阿里云实时数据加工服务的设计及实践
  15. mysql前台工具下载_phpmyadmin工具下载
  16. 用IOC和DI解决懒人老板想喝咖啡但不想自己动手的窘迫
  17. Python数据分析!NBA的球星们喜欢在哪个位置出手!
  18. 机器视觉 · 工业光源
  19. [渝粤教育] 华中科技大学 模拟电子技术基础 参考 资料
  20. 语音信号处理频域语谱图matlab实验,语音信号的频域分析

热门文章

  1. 关于Ubuntu中使用teamviewer
  2. 关闭windows正版验证
  3. Unity Transparent Video | 用 VideoPlayer 或 AVPro 播放透明影片
  4. Codeforces1442 D. Sum(dp+分治优化)
  5. 物联网专业的优势、发展趋势与障碍的介绍
  6. Cadence 简介
  7. JAVA对文件的读操作总结
  8. joy divison
  9. 教你如何轻松打开玻璃瓶的金属盖
  10. 北斗导航 | SINS/GPS超紧组合系统完好性监测算法(代码后续添加)