List、Set、Map、Queue、Deque、Stack的遍历方法总结

一、List的遍历

1.for循环

代码如下(示例):

		List<String> list = new ArrayList<String>();
		list.add("A");
		list.add("B");
		list.add("C");
		//方法一:
		for (int i = 0; i < list.size(); i++) {
			System.out.println(list.get(i));
		}

2.for each循环

代码如下(示例):

		//方法二:
		for(String s : list) {
			System.out.println(s);
		}

3.迭代器

代码如下(示例):

		//方法三:
		Iterator<String> it = list.iterator();
		while(it.hasNext()) {
			System.out.println(it.next());
		}

二、Set的遍历

1.for each循环

代码如下(示例):

		Set<String> set = new HashSet<String>();
		set.add("A");
		set.add("B");
		set.add("C");
		System.out.println(set);
		// 方法一
		for (String s : set) {
			System.out.println(s);
		}

2.迭代器

代码如下(示例):

		// 方法二:
		Iterator<String> it = set.iterator();
		while (it.hasNext()) {
			System.out.println(it.next());
		}

三、Map的遍历

1.for each循环(调用map对象中的KeySet()方法得到所有Key的集合)

代码如下(示例):

		Map<String, Integer> map = new HashMap<String, Integer>();
		map.put("張三", 17);
		map.put("李四", 19);
		map.put("王麻子",20);
		System.out.println(map);
		// 方法一
		for (String key: map.keySet()) {
			Integer value = map.get(key);
			System.out.println(key+"="+value);
		}

2.for each循环(循环遍历map对象中的entrySet()集合得到每一个Key-Value映射)

代码如下(示例):

		// 方法二:
		for(Entry<String, Integer> entry:map.entrySet()) {
			System.out.println(entry);
		}

四、Queue的遍历

1.while循环

代码如下(示例):

		Queue<String> queue = new LinkedList<String>();
		queue.offer("A");
		queue.offer("B");
		queue.offer("C");
        //方法一
		while(!queue.isEmpty()) {
			System.out.println(queue.poll());
		}

2.for each循环

代码如下(示例):

        //方法二
		for(String s:queue) {
			System.out.println(s);
		}

3.迭代器

代码如下(示例):

		// 方法三
		Iterator<String> it = queue.iterator();
		while(it.hasNext()) {
			System.out.println(it.next());
		}

五、Deque的遍历

1.while循环

代码如下(示例):

		Deque<String> deque = new LinkedList<String>();
		deque.offerFirst("A");
		deque.offerLast("B");
		deque.offerLast("C");
		//方法一
		while(!deque.isEmpty()) {
			System.out.println(deque.pollFirst());//从队头取
//			System.out.println(deque.pollLast());//从队尾取
		}

2.for each循环

代码如下(示例):

        //方法二
		for(String s:deque) {
			System.out.println(s);
		}

3.迭代器

代码如下(示例):

		// 方法三
		Iterator<String> it = deque.iterator();
		while(it.hasNext()) {
			System.out.println(it.next());
		}

六、Stack的遍历

1.while循环

代码如下(示例):

		Stack<String> stack = new Stack<String>();
		stack.push("A");
		stack.push("B");
		stack.push("C");
		//判断栈是否为空
		while(!stack.isEmpty()) {
			System.out.println(stack.pop());
		}
		//判断长度
		while(stack.size()!=0) {
			System.out.println(stack.pop());
		}

2.迭代器

代码如下(示例):

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

  • 7
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值