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