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

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

一.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());
		}

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/langs/915363.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-16
下一篇 2022-05-16

发表评论

登录后才能评论

评论列表(0条)

保存