List的删除

本文详细介绍了在Java中使用ArrayList的两种删除元素方法:一种是直接使用List的remove方法,通过下标或值进行删除;另一种是使用迭代器的remove方法,无需下标或值即可完成删除操作,但需注意在调用remove前必须先调用next方法。

使用List的remove方式

public class ArrayListTest2 {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
														// 不能实例化List的对象
														// ArrayList 允许重复的对象
														//先进先出
														
			ArrayList<String> list = new ArrayList<>(10);
			list.add("fdk");
			list.add("ccc");
			list.add("ay");
			list.add("wang");
			
			 list.remove(1);
			 list.remove("fdk");
			//list自带的删除需要下标或者值
				for(String t:list){
					System.out.println(t);
				}
	
	}
}

使用迭代器的remove


public class ArrayListTest2 {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
														// 不能实例化List的对象
														// ArrayList 允许重复的对象
														//先进先出
														
			ArrayList<String> list = new ArrayList<>(10);
			list.add("fdk");
			list.add("ccc");
			list.add("ay");
			list.add("wang");
			
			Iterator<String> it = list.iterator();
			
									
			 while(it.hasNext()){ 
				 
				 String s=it.next();
				
				 
				 System.out.println(s);				//itz中存储list的地址
//				
				 
				 it.next();
				 it.remove();					
				 	//迭代器删除不需要下标和值,在调用remove之前需要next();
					//迭代器两次remove会报错,表明删除元素之后,迭代器的位置自动不会移位
	
			 
			 }
		
				
	}
}



注:每次调用next只能调用一次remove

在 Python 中,删除 `list`(列表)中的元素有多种方式,具体取决于你希望如何删除: --- ## 🧰 常用删除方法总结 ### 1. 使用 `del` 删除指定索引的元素 ```python my_list = [10, 20, 30, 40] del my_list[1] # 删除索引为1的元素 print(my_list) # 输出: [10, 30, 40] ``` ✅ 特点:**直接修改原列表,不返回值** --- ### 2. 使用 `pop()` 删除并返回指定索引的元素 ```python my_list = [10, 20, 30, 40] removed = my_list.pop(2) # 删除索引为2的元素,并返回它 print(removed) # 输出: 30 print(my_list) # 输出: [10, 20, 40] ``` ✅ 特点: - 默认删除最后一个元素; - 返回被删除的元素。 --- ### 3. 使用 `remove()` 删除第一个匹配的值 ```python my_list = [10, 20, 30, 20] my_list.remove(20) # 删除第一个出现的20 print(my_list) # 输出: [10, 30, 20] ``` ⚠️ 注意:如果值不存在会抛出 `ValueError` --- ### 4. 使用 `clear()` 清空整个列表 ```python my_list = [10, 20, 30] my_list.clear() print(my_list) # 输出: [] ``` ✅ 特点:保留列表对象本身,只是清空内容。 --- ### 5. 使用切片删除部分或全部元素 ```python my_list = [10, 20, 30, 40, 50] my_list[1:4] = [] # 删除索引1到3的元素 print(my_list) # 输出: [10, 50] ``` 或者删除全部: ```python my_list[:] = [] ``` --- ### 6. 使用列表推导式删除符合条件的多个元素(如所有偶数) ```python my_list = [10, 15, 20, 25, 30] my_list = [x for x in my_list if x % 2 != 0] print(my_list) # 输出: [15, 25] ``` ✅ 特点:不会修改原列表,而是生成新列表。 --- ### 7. 使用 `filter()` 删除特定元素(函数式风格) ```python my_list = [10, 15, 20, 25, 30] my_list = list(filter(lambda x: x % 2 == 0, my_list)) print(my_list) # 输出: [10, 20, 30] ``` --- ## ❗注意事项 | 方法 | 是否修改原列表 | 是否返回值 | 是否支持条件删除 | |------------|----------------|-------------|------------------| | `del` | ✅ | ❌ | ❌ | | `pop()` | ✅ | ✅ | ❌ | | `remove()` | ✅ | ❌ | ✅(按值) | | `clear()` | ✅ | ❌ | ❌ | | 切片赋空 | ✅ | ❌ | ✅(范围) | | 推导式 | ❌(需重新赋值)| ✅ | ✅ | --- ###
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值