ArrayList常用方法总结

ArrayList接口常用方法:

1、add(Object element): 向列表的尾部添加指定的元素。

                ArrayList<String> l1 = new ArrayList<>();//创建一个ArrayList l1
		
		l1.add("aaa");//在l1中添加字符串aaa

 

2、size(): 返回列表中的元素个数。

        System.out.println(l1.size());//输出l1中元素个数

3、get(int index): 返回列表中指定位置的元素,index从0开始。

                if(l1!=null&&l1.size()!=0&&l1.isEmpty()==false) {
			for(int i = 0;i<l1.size();i++) {
				System.out.println(l1.get(i));//输出l1中元素
			}
		}

4、add(int index, Object element): 在列表的指定位置插入指定元素。

5、set(int i, Object element): 将索引i位置元素替换为元素element并返回被替换的元素。

6、clear(): 从列表中移除所有元素。

7、isEmpty(): 判断列表是否包含元素,不包含元素则返回 true,否则返回false。

8、contains(Object o): 如果列表包含指定的元素,则返回 true。

                //判断上述ArrayList中是否出现过取值为fff的字符串
		System.out.println("是否出现字符串fff:" + l1.contains("fff"));

9、remove(int index): 移除列表中指定位置的元素,并返回被删元素。

                //删除掉上述ArrayList中所有取值为ccc的字符串
		//[1]创建一个循环,遍历集合中所有的元素
		if(l1 != null && l1.size() != 0) {
			for(int i = 0; i < l1.size(); i++) {
				//[2]判断当期前取得的字符串和字符串"ccc"之间的关系
				if("ccc".equals(l1.get(i))) {
					//[3]通过下标干掉当前元素
					l1.remove(i);  //注意:在干掉当前元素的时候,后面的元素会向前补齐,下一次判断还是看当前位,不是下一位
					//[4]回退一位,中和下一次的i++
					i--;
				}
			}
			System.out.println("删除字符串ccc之后的集合:" + l1);
		}

10、remove(Object o): 移除集合中第一次出现的指定元素,移除成功返回true,否则返回false。

11、iterator(): 返回按适当顺序在列表的元素上进行迭代的迭代器。

12、indexOf(),lastIndexOf()方法找到指定字符串第一次出现的下标位和最后一次出现的下标位

                //找到上述ArrayList中,取值为aaa的字符串第一次出现的下标位和最后一次出现的下标位
		System.out.println("字符串aaa第一次出现的下标:" + l1.indexOf("aaa"));
		System.out.println("字符串aaa最后一次出现的下标:" +l1.lastIndexOf("aaa"));
		

13、subList()方法截取制定位置的元素

        //截取上述ArrayList中下标为3-6之间的子元素形成新集合
		List<String> l2 = l1.subList(3, 6);  //List<String> l2 = new ArrayList<>();  在多态写法中,编译时类型除了可以使父类类型之外,还可以是父级接口类型
		System.out.println("截取的子集合:" + l2);

14、retainAll()方法,表示计算ls1集合与ls2集合之间的公共部分,将公共部分存储在ls1当中

                /*
		 * 总结retainAll()方法
		 * 例:ls1.retainAll(ls2)
		 * 表示计算ls1集合与ls2集合之间的公共部分,将公共部分存储在ls1当中
		 * 返回值:
		 * 	如果ls1集合内容发生变化,返回true
		 * 	如果ls1集合内容没有发生变化,返回false
		 */
		System.out.println(ls1.retainAll(ls2));
		System.out.println(ls1);

15、trimToSize方法
ArrayList所说没有用的值并不是null,而是ArrayList每次增长会预申请多一点空间,1.5倍+1,而不是两倍
这样就会出现当size() = 1000的时候,ArrayList已经申请了1200空间的情况
trimToSize 的作用只是去掉预留元素位置,就是删除多余的200,改为只申请1000,内存紧张的时候会用到.

        //通过trimToSize()方法能够通知JVM回收elementData中剩余的空余空间
		l1.trimToSize();  //size=12 elementData.length=12
		
        //		l1.add("bbb");  //size=13 elementData.length=18

16、ensureCapacity()方法,指定集合对象内部数组的长度

                //使用ensureCapacity()方法,指定集合对象内部数组的长度
		l2.ensureCapacity(200);

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
常用的Java List集合方法包括以下几种: 1. 将元素插入到集合的首部或尾部:可以使用LinkedList的addFirst()方法将元素插入到集合的首部,使用addLast()方法将元素插入到集合的尾部。注意,如果使用的是List接口的引用,需要进行类型转换为LinkedList才能使用LinkedList特有的方法。\[1\] 2. 通过索引访问列表元素:List接口提供了四种位置(索引)访问列表元素的方法。索引从0开始,即第一个元素的索引为0。这些方法包括get()、set()、add()和remove()。需要注意的是,具体实现类(如LinkedList)的索引值可能会有所不同,所以在不清楚具体实现的情况下,最好通过迭代列表中的元素来访问。\[2\] 3. 添加元素到ArrayListArrayList是List接口的一个常用实现类,它采用了数组的存储方式,分配连续的内存空间。可以使用ArrayList的add()方法将元素添加到集合中。ArrayList可以添加任何类型的对象,不同类的实例对象都可以添加进去,但是添加的数据都会被转换成Object类型。\[3\] 这些是Java List集合的一些常用方法,可以根据具体的需求选择适合的方法来操作集合中的元素。 #### 引用[.reference_title] - *1* *3* [JAVA集合——(List类中常用方法总结)](https://blog.csdn.net/gitets/article/details/109702884)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down28v1,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [java_List(集合)_常见方法操作(实例)](https://blog.csdn.net/Lee0620/article/details/120776429)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down28v1,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值