zoukankan      html  css  js  c++  java
  • 【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



  • 相关阅读:
    数据结构与算法_20 _ 散列表(下):为什么散列表和链表经常会一起使用?
    数据结构与算法_19 _ 散列表(中):如何打造一个工业级水平的散列表?
    数据结构与算法_17 _ 跳表:为什么Redis一定要用跳表来实现有序集合?
    数据结构与算法_18 _ 散列表(上):Word文档中的单词拼写检查功能是如何实现的?
    数据结构与算法_16 _ 二分查找(下):如何快速定位IP对应的省份地址
    数据结构与算法_15 _ 二分查找(上):如何用最省内存的方式实现快速查找功能
    线程池ThreadPoolExecutor源码详解
    用信鸽来解释 HTTPS
    并发集合类之图解CopyOnWriteArrayList
    认识RabbitMQ从这篇文章开始
  • 原文地址:https://www.cnblogs.com/omgliyq/p/13946610.html
Copyright © 2011-2022 走看看