【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