Java中集合的遍历方式总结(List、Set、Map、Queue、Deque、Stack)


前言

不同集合的遍历方式也有差异,本文将对六种集合的遍历方式进行总结。


一、六种集合

         1,List

         2,Set

         3,   Map

         4,   Queue

         5,   Deque

         6,   Stack

二、遍历方式

1.List

                List是一种有序列表,允许内部元素重复,可以插入多个null值。(在需要增删元素时,应用更多的是ArrayList.)

       方法一: for循环      

​
​
​
  for(int i=0;i<list.size();i++){

          System.out.println(list.get(i));

      }

​

        方法二:for ... each循环

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

        方法三:Iterator迭代器

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

 

2.Set

                   Set用于存储不重复的元素集合,无序(实现类有HashSet、TreeSet、LinkedHashSet)

        方法一:for each循环

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

       

        方法二:iterator迭代器

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

3.Map

                Map是一种映射表,可以通过key查找value(最常用的一种Map实现是HashMap,无序,且key值唯一)。

方法一:for each遍历Map的Key

​
   for (String key : map.keySet()) {
            Integer value = map.get(key);
            System.out.println(key + " -  " + value);
        }

​

  方法二:for each遍历可以和value

​
  for (Map.Entry<String, Integer> entry : map.entrySet()) {
            String key = entry.getKey();
            Integer value = entry.getValue();
            System.out.println(key + " - " + value);
        }

​

4.Queue队列

              1.  queue是一种经常使用的集合,遵循先入先出的基本原则(FIFO)

              2.一般地,只允许前端删除,后端插入

              3.  无限队列:常见实现类LinkedList

              4. 有限队列:ArrayBlockingQueue(长度大小受限制)

        方法一:for each遍历

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

        方法二:iterator迭代器

 Iterator it = queue.iterator();
		while(it.hasNext()) {
			System.out.println(it.next());
		}

        方法三:while循环

     while(!queue1.isEmpty()) {
			System.out.println(queue1.poll());
		}

5,Deque双端队列

                deque队列只能一端进队,在另一端出队(FIFO)

                双端队列:允许两头都进,两头都出(Double Ended Queue),Deque.

          方法一:while循环遍历同时进行出队操作

   String item = "";
		while((item = deque.pollLast()) != null) {
			System.out.println(item);
		}

         方法二:for each遍历(仅从队头开始)

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

        方法三:Iterator迭代器

  Iterator it = deque.iterator();
		while(it.hasNext()) {
			System.out.println(it.next());
		}

6,Stack栈

                遵循后进先出原则(LIFO)

方法一:for each循环

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

方法二:while循环

  while (!stack.isEmpty()) {
			System.out.println(stack.pop());
		}

方法三:Iterator迭代器遍历

 Iterator it = stack.iterator();
		while(it.hasNext()) {
			System.out.println(it.next());
		}


总结

        以上就是本文的全部内容,简单介绍了六种集合的便利方式。

1,  List是一种有序列表,允许内部元素重复,可以插入多个null值。

2, Set用于存储不重复的元素集合,无序。

3, Map是一种映射表,可以通过key查找value。

4, Queue是一种经常使用的集合,遵循先入先出的基本原则(FIFO)。一般地,只允许前端删除,后端插入。

5,Deque遵循(FIFO),queue的双端队列:允许两头都进,两头都出。

6,Stack栈 遵循后进先出原则(LIFO)。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值