zoukankan      html  css  js  c++  java
  • 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
        }
    }
  • 相关阅读:
    持久层框架:MyBatis 3.2(2)
    持久层框架:MyBatis 3.2(1)
    循环结构(二)
    Android LayoutInflater详解
    为什么调用 FragmentPagerAdapter.notifyDataSetChanged() 并不能更新其 Fragment?
    Android Support v4、v7、v13的区别和应用场景
    Android的string-array数据源简单使用
    FragmentTabHost切换Fragment时避免重复加载UI
    Ubuntu 安装Chrome步骤
    慢慢来,让好习惯自然来
  • 原文地址:https://www.cnblogs.com/zhaotao11/p/10235566.html
Copyright © 2011-2022 走看看