栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

List,Set,Map,Queue,Deque,Stack的特点及遍历方式总结

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

List,Set,Map,Queue,Deque,Stack的特点及遍历方式总结

一.List:(1.添加的元素可重复。2.允许添加null值。3.有序。4.常用实现类有ArrayList,LinkedList。ArrayList把“添加”和“删除”操作封装起来,不用关心内部元素如何移动。LinededList是基于“双向链表”实现的集合。数据结构:双向链表。使用场景:插入,删除。)

遍历方式:

方法1:for each

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

方法2:for 循环

for(int i = 0;i < list.size() - 1;i++) {
			System.out.println(list.get(i));
		}

方法3:iterator迭代器

Iterator it = list.iterator();//获取迭代器对象
		while(it.hasNext()) {//下一个有没有值
			String s = it.next();
			System.out.println(s);
		}

二.Set(1.唯一。2.无序。3.实现类有:HashSet、LinkedHashSet、TreeSet)

方法1.for each循环

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

方法2.iterator迭代器

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

三.Map()

方法1.for each遍历Map的key

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

方法2.for each遍历key和value

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

四.Queue队列(1.单端队列。2.遵循(FIFO)先进先出原则。3.无限队列:常见实现类LinkedList。4.有限队列:ArrayBlockingQueue,大小长度受限制)

方法1.for each遍历

     for(String s : queue1) {

	    System.out.println(s);

     }

方法2.iterator迭代器遍历队列

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

方法3:while()循环

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

五、Deque双端队列(Double Ended Queue,两端都可以进出)

遍历方式

方法1.while循环遍历同时进行出队操作

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

方法2.for each遍历(仅从队头开始)

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

方法3.Iterator迭代器遍历

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

六、栈Stack(遵循后进先出(LIFO))

1.方法1.for each循环

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

2.方法2.while循环(并出栈)

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

3.方法3.Iterator迭代器遍历

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

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/880348.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号