• List接口


    List接口中常用的方法
    import java.util.ArrayList;
    import java.util.List;
    
    public class Demo01 {
        public static void main(String[] args) {
            List<String> list=new ArrayList<String>();
            list.add("a");
            list.add("b");
            //指定位置添加元素
            list.add(1,"c");
            System.out.println(list);//遍历  [a, c, b]
            //遍历
            for(int i=0;i<list.size();i++){
                System.out.println(list.get(i)); //a  c  b
            }
            //删除指定位置
            String str=list.remove(1);
            System.out.println(str);//c
            System.out.println(list);//[a, b]
            //替换指定位置上的元素
            list.set(1, "z");
            System.out.println(list);//[a, z]
        }
    }
    Iterator的并发修改异常
    import java.util.ArrayList;
    import java.util.Iterator;
    import java.util.List;
    
    public class Demo02 {
        public static void main(String[] args) {
            List<String> list=new ArrayList<>();
            list.add("a");
            list.add("b");
            list.add("c");
            //获取迭代器对象
            Iterator<String> it=list.iterator();
            //并发修改异常
            while(it.hasNext()){
                String s=it.next();
                if(s.equals("b")){
                    list.add("d");
                }
                //System.out.println(it.next());
            }
        }
    }
    
    List集合存储数据的结构
    堆栈、队列、数组、链表
    LinkedList集合
    import java.util.ArrayList;
    import java.util.Collections;
    import java.util.LinkedList;
    import java.util.List;
    
    public class Demo03 {
        public static void main(String[] args) {
            method1();
            method2();
            method3();
        }
        public static void method1(){
            LinkedList<Integer> list=new LinkedList<Integer>();
            /*list.add(1);
            list.add(2);
            list.addFirst(3);
            list.addFirst(4);
            list.addLast(5);*///[4, 3, 1, 2, 5]
            list.addLast(1);//相对于当前集合
            list.addLast(2);
            list.add(3);
            list.addFirst(4);
            list.addFirst(5);
            System.out.println(list);//[5, 4, 1, 2, 3]
            System.out.println(list.getFirst());//首元素    5
            System.out.println(list.getLast());//尾元素       3
            list.removeLast();//删除尾元素
            System.out.println(list);//[5, 4, 1, 2]
            System.out.println(list.getLast());//2
        }
        public static void method2(){
            LinkedList<Integer> list=new LinkedList<Integer>();
            list.push(1);
            list.push(2);
            list.push(3);
            list.push(4);
            //模拟弹栈的效果
            if(!list.isEmpty()){//如果集合不为空
            System.out.println(list.pop());//4
            System.out.println(list.pop());//3
            System.out.println(list.pop());//2
            System.out.println(list.pop());//1
            }
        }
        //查询集合中指定元素出现的次数
        public static void method3(){
            List<String> list = new ArrayList<>();
                list.add("a");
                list.add("a");
                list.add("a");
                list.add("b");
                list.add("b");
                list.add("c");
                list.add("d");
                list.add("d");
                list.add("d");
                list.add("d");
                list.add("d");
                System.out.println(list);//遍历集合 [a, a, a, b, b, c, d, d, d, d, d]
                int count1=Collections.frequency(list,"a");//指定元素
                int count2=Collections.frequency(list,"b");
                int count3=Collections.frequency(list,"c");
                int count4=Collections.frequency(list,"d");
                int count5=Collections.frequency(list,"e");
                System.out.println(count1);//查询出现次数   3
                System.out.println(count2);//2
                System.out.println(count3);//1
                System.out.println(count4);//5
                System.out.println(count5);//0
        }
    }
  • 相关阅读:
    ajax加载数据字典下拉选后台
    【算法】二叉树前中后序的递归+迭代(java代码)
    【设计模式】代理模式与装饰器模式的区别
    《重构》读书笔记(一)
    【服务器安全】记一次处理挖矿病毒经历
    【计算机原理】数值存储计算基本理论(一)
    【JAVA】java中类的执行顺序
    【numpy&pandas】Pandas速查笔记
    【前端】打包vue项目到nginx过程
    【服务器搭建】Linux下安装docker
  • 原文地址:https://www.cnblogs.com/zhaotao11/p/10235566.html
Copyright © 2020-2023  润新知