掌握从容器中找出某些数据并成功删除的技巧:
需求:
现在加入购物车中存储了如下这些商品:Java入门,宁夏枸杞,黑枸杞,人字拖,特级枸杞,枸杞子。现在用户不想买枸杞了,选择批量删除,请完成该需求。
分析:
1)后台使用ArrayList集合表示购物车,存储这些商品名(String类型)。
2)遍历(for循环)集合中的每个数据,只要这个数据包含(contains方法)了“枸杞”则删除它。
3)输出集合看是否成功删除了全部枸杞数据了。
package cn.ensource.arraylist;
import java.util.ArrayList;
public class ArrayListCase1 {
public static void main(String[] args) {
// 1. 创建ArrayList集合对象,表示购物车
ArrayList<String> list = new ArrayList<>();
list.add("Java入门");
list.add("宁夏枸杞");
list.add("黑枸杞");
list.add("人字拖");
list.add("特级枸杞");
list.add("枸杞子");
System.out.println(list); // [Java入门, 宁夏枸杞, 黑枸杞, 人字拖, 特级枸杞, 枸杞子]
// 2. 开始完成需求:从集合中找出包含枸杞的数据,并删除
// for(int i = 0; i < list.size(); i++) {
// String ele = list.get(i);
// if(ele.contains("枸杞")) {
// list.remove(ele); // 类似删除黑马元素,只删除一个,一个一个地删除
// }
// }
// 方法1:倒一方法
// for(int i = 0; i < list.size(); i++) {
// String ele = list.get(i);
// if(ele.contains("枸杞")) {
// list.remove(ele); // 类似删除黑马元素,只删除一个,一个一个地删除
// i--;
// }
// }
// 方法二:反向遍历
for(int i = list.size() - 1 ; i >= 0 ; i--) {
String ele = list.get(i);
if(ele.contains("枸杞")) {
list.remove(ele); // 类似删除黑马元素,只删除一个,一个一个地删除
}
}
System.out.println(list);
}
}