【java基础】-List常用方法总结

 1.add() :在指定位置插入元素,后面的元素都往后移一个元素

        //List list = new ArrayList();
        List<String> list = new ArrayList<>();
        //add() 在指定位置插入元素,后面的元素都往后移一个元素。
        list.add("demo1");
        list.add("demo2");
        list.add("demo3");
        System.out.println(list); //[demo1, demo2, demo3]
        list.add(2,"test01"); //在下标为2的位置添加“test01”
        System.out.println(list); //[demo1, demo2, test01, demo3]

 2.size()求集合长度,即元素个数

        //集合长度,即元素个数
        list.size(); //4

3.get() 返回list集合中指定索引位置的元素

        //get() 返回list集合中指定索引位置的元素
        list.get(0); //demo01

4.indexOf()返回list集合中第一次出现o对象的索引位置,如果list集合中没有o对象,那么就返回-1

        //返回list集合中第一次出现该对象的索引位置,如果list集合中没有该对象,那么就返回-1
        list.indexOf("demo2"); // 1 --存在且下标索引为1
        list.indexOf("demo5"); //-1 --不存在

5.remove()删除指定索引的对象

        //删除指定索引的对象
        list.remove(3);  //list: [demo1, demo2, test01] 删除了原下标索引为3的“demo3”

6.set()在索引为index位置的元素更改为element元素(覆盖)

        //在索引为index位置的元素更改为element元素(覆盖)
        list.set(2,"test02"); //[demo1, demo2, test02, demo3]

7.subList()集合元素截取

        //集合元素截取(开始下标到结束下标)
        list.subList(0,2); //[demo1, demo2] --包左不包右

8.集合的复制

        //clone()
        Object list1 =((ArrayList<String>) list).clone();

        //通过new ArrayList(List srcList)的方式复制一个集合,是单独开辟了一个内存空间,并且内容跟源集合的内容一样。对新集合的修改并不影响源集合
        List<String> list2 = new ArrayList(list); //[demo1, demo2, test01, demo3]

        //通过addAll的方法复制一个集合,新的集合也是单独开辟了一个内存空间。当然新集合的操作不影响源集合。
        List<String> list3 = new ArrayList();
        list3.addAll(list);

        //Collections.copy(新, 旧);
        List<String> list4 = new ArrayList();//new ArrayList(Arrays.asList(new Object[list.size()]))
        Collections.copy(list4,list); //[demo1, demo2, test01, demo3]
        /*
        会报错:java.lang.IndexOutOfBoundsException: Source does not fit in dest
        原因是你使用该方法时,会先比较目标集合和源集合的size,而你直接new ArrayList();还没来得及复制,目标集合的size为0,
        和源集合的size不一样,就会报错。注:new ArrayList(int size)定义的是该集合的的容纳能力为size,并不是说目标集合中就有了size个元素。
        所以要这样写:new ArrayList(Arrays.asList(new Object[list.size()]));
         */

9.list转字符串

        //list转字符串
        StringUtils.join(list,","); //demo1,demo2,test01,demo3
        //第一个参数list表示要转换的集合对象,
        //第二个参数“,”表示要把集合用逗号进行隔开

10.iterator迭代器

        List<String> list = new ArrayList<>();
        list.add("test1");
        list.add("test2");
        list.add("test3");
        list.add("test4");
        Iterator<String> iterator = list.iterator();
        while (iterator.hasNext()){
            System.out.println(iterator.next());
        }

11.contains 是否含有某个元素

        List<String> list = new ArrayList<>();
        list.add("test1");
        list.add("test2");
        list.add("test3");
        list.add("test4");
    boolean flag1 = list.contains("test1") //true
    boolean flag2 = list.contains("test") //false

 




posted @ 2020-11-09 00:19  JacksonLiyq  阅读(389)  评论(0编辑  收藏  举报