Java进阶知识查漏补缺14

List集合:

package com.cjf.List;

import org.junit.Test;

import java.lang.reflect.Array;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;

/**
 * Created with IntelliJ IDEA.
 * Description:
 * Author: Everything
 * Date: 2020-07-06
 * Time: 11:19
 */

//  /----Collection接口:单列集合,用来存储一个一个的对象
//      /----List接口:存储有序的、可重复的数据。-->“动态”数组, 替换原有的数组
//          /----ArrayList、LinkedList、Vector:三个类都是实现了List接口,存储数据的特点相同:存储有序的、可重复的数据
                //ArrayList:作为list接口的主要实现类,线程不安全,效率高,底层使用Object数组
                //LinkedList:底层使用双向链表,频繁的增删操作
                //Vector:古老实现类,线程安全,效率低

    //List接口常用方法之ArrayList
public class ListTest {
    @Test
    public void test(){
        ArrayList list = new ArrayList();
        list.add("AA");
        list.add("BB");
        list.add("CC");
        list.add("DD");
        list.add("EE");

        //1.void add(int index,Object ele):在index位置插入ele元素
        list.add(1,"INSERT");
        System.out.println(list);

        //2.addAll:添加集合
        List list1 = Arrays.asList(1, 2, 3);
        list.addAll(list1);
        System.out.println(list);

        //3.object get(int index):获取指定index位置的元素
        System.out.println(list.get(0));

        //4.indexOf(),返回首次出现的索引值
        int i = list.indexOf("BB");
        System.out.println(i);

        //5.lastIndexOf():最后一次出现的索引值
        int j = list.lastIndexOf("BB");
        System.out.println(j);

        //6.remove():移除指定索引的元素
        list.remove(1);
        System.out.println(list);

        //7.set(i,aa):修改指定索引的元素
        list.set(0,"aa");
        System.out.println(list);

        //8.subList(i,j):返回从i到j索引的左开右闭区间
        List list2 = list.subList(0,4);
        System.out.println(list2);



    }
}

 

posted @ 2020-07-06 23:24  Tsui98'  阅读(118)  评论(0编辑  收藏  举报