Java-->List集合

 1 import java.util.LinkedList;
 2 
 3 public class ListDemo3 {
 4     public static void main(String[] args) {
 5         //LinkedList可以完成队列结构和栈结构
 6         //压栈(不用多态:想用LinkedList的独有方法)
 7         LinkedList<String> stack = new LinkedList<>();
 8         stack.addFirst("bullet-1"); // 常替换为:--> stack.push("bullet-1");
 9         stack.addFirst("bullet-2");
10         stack.addFirst("bullet-3");
11         stack.addFirst("bullet-4");
12         stack.addFirst("bullet-5");
13         stack.addFirst("bullet-6");
14         System.out.println("集合原始数据:" + stack);
15         //拿到集合中第一个元素
16         System.out.println("第一个元素:" + stack.getFirst());
17         //拿走集合中的第一个元素
18         stack.removeFirst(); // --> stack.pop();
19         System.out.println("拿走集合中的第一个元素:" + stack);
20         System.out.println("-----------------------------");
21         //队列
22         LinkedList<String> queue = new LinkedList<>();
23         queue.addLast("person-1"); // 同 --> queue.offerLast(); 不常替换
24         queue.addLast("person-2");
25         queue.addLast("person-3");
26         queue.addLast("person-4");
27         queue.addLast("person-5");
28         queue.addLast("person-6");
29         System.out.println("队列原始数据:" + queue);
30         System.out.println("队列最后一个元素:" + queue.getLast());
31         queue.removeLast();
32         System.out.println("移除队列最后一个元素后:" + queue);
33     }
34 }

示例结果:

 

 1 import java.util.ArrayList;
 2 import java.util.Iterator;
 3 import java.util.List;
 4 
 5 public class Test {
 6     public static void main(String[] args) {
 7         //创建集合对象
 8         List<String> list = new ArrayList<>();
 9         //添加元素
10         list.add("Java");
11         list.add("C语言");
12         list.add("HTML");
13         list.add("CSS");
14         list.add("Java");
15         list.add("JS");
16         list.add("MySQL");
17         System.out.println(list);
18         //需求:遍历删除所有Java
19         //1、迭代器
20 //        System.out.println("-----------迭代器-------------");
21 //        Iterator<String> iterator = list.listIterator();
22 //        while (iterator.hasNext()){
23 //            if ("Java".equals(iterator.next())){
24 //               // list.remove(iterator.next()); //ConcurrentModificationException,程序崩溃,并发修改异常
25 //                iterator.remove(); //删除当前所在元素,并且不会后移
26 //            }
27 //        }
28 //        System.out.println(list);
29 //        System.out.println("-----------foreach(不可用来删除集合中指定元素)-----------");
30 //        for (String s : list) {
31 //            if("Java".equals(s)){
32 //                list.remove("Java");
33 //            }
34 //        }
35 //        System.out.println(list);
36         //同理:Lambda表达式也不可(内部是用foreach实现的)
37 //        list.forEach(s -> {
38 //            list.remove("Java");
39 //        });
40 //        System.out.println("----------for循环(从后往前删)-----------");
41 //        for (int i = list.size() - 1; i >= 0 ; i --) {
42 //            if(list.get(i).equals("Java")){
43 //                list.remove("Java");
44 //            }
45 //        }
46         System.out.println("----------for循环(从前往后删)-----------");
47         for (int i = 0; i < list.size(); i++) {
48            if(list.get(i).equals("Java")){
49                 list.remove("Java");
50                 i --;
51             }
52         }
53         System.out.println(list);
54     }
55 }

示例运行结果:

 

 

 

posted @ 2022-05-10 23:56  羽梦齐飞  阅读(46)  评论(0编辑  收藏  举报