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
    }
}

 

posted @ 2019-01-07 20:41  帅涛  阅读(115)  评论(0编辑  收藏  举报