package com.sf.day15;

import org.junit.Test;

import java.util.ArrayList;
import java.util.List;

/**
 * collection 的子接口List
 */
public class Test01 {
    @Test
    public void t1(){
        List<String> list  = new ArrayList<>();
        list.add("张三");
        list.add("李四");
        list.add("王五");
        list.add("赵三");
        list.add("李三");
        String s = list.get(2);
//        System.out.println(s);
//        for (String s1 : list) {
//            if(s1.contains("三")){
//                System.out.println(s1);
//            }
//        }
        //在index  位置插入  ele元素
        list.add(2,"liss");
        List<String> list1  =  new ArrayList<>();
        list.add("ikun");
        List<Integer> list2  =  new ArrayList<>();
        list2.add(1);
        //向list集合中的指定位置插入list1集合中的元素
        list.addAll(list1);
        System.out.println(list);
//        list.addAll();

    }

    @Test
    public void t2(){
        List<Integer> list = new ArrayList<>();
        for(int i = 1;i<=20;i++){
            list.add(i);
        }
        System.out.println("source   "+list);
        //List subList(int fromIndex, int toIndex):返回从fromIndex到toIndex位置的子集合
        // 是左闭右开的
        List<Integer> integerList = list.subList(3, 10);
        System.out.println(integerList);
        int i = list.indexOf(10);
        System.out.println(i);
        int i1 = list.indexOf(100);
        System.out.println(i1);
        list.add(9,10);
        list.add(9,10);
        System.out.println(list);

        int i2 = list.indexOf(10);  //首次在这个集合中出现这个（10）元素的下标
        System.out.println(i2);

        int i3 = list.lastIndexOf(10);   //在当前集合中查找这个元素最后一次出现的下标
        System.out.println(i3);

        Integer remove = list.remove(9);  //在这个集合中删除指定下标的元素  并且返回该元素
        System.out.println(remove);

        Integer set = list.set(0, 99);  //在这个集合中，用element替换index位置上的元素，并且返回值是原来index位置上的元素
        System.out.println(set);
        System.out.println(list);
    }
}
