1. 创建ArrayList集合对象
ArrayList<String> list = new ArrayList<>();
2. ArrayList常用API
函数 | 含义 | 案例 |
---|---|---|
list.add(value) | 在集合的末尾增加元素 | list.add(“张三”); |
list.add(index, value) | 在集合中间的指定位置增加元素 | list.add(2, “赵六”); |
list.get(index) | 根据索引获取数据 | list.get(3); |
list.size() | 返回集合元素个数 | list.size(); |
list.remove(index) | 根据索引删除元素 —> 返回删除的元素 | list.remove(2); |
list.remove(value) | 删除指定的元素【如果有两个一样的数据,默认删除第一次出现的数据】 —> 返回Boolean值 | list.remove(“张三”); |
list.set(index, value) | 修改索引处的数据 —> 返回值:修改之前的值 | list.remove(1, “张三”); |
3. 案例:购物车【遍历删除】
3.1 需求
需求:现在加入购物车中存储了如下这些商品:Java入门,宁夏黑枸杞,人字拖,特级枸杞,枸杞子。
现在用户不想买枸杞了,选择了批量删除,请完成该需求。
分析:
- 创建ArrayList,存储商品名称。
- 遍历集合中的数据,只要包含了“枸杞”就删除
- 输出查看数据
3.2 代码实现
- 注意:遍历删除集合列表中的数据需要反向遍历
public static void arrayBuy() {
ArrayList<String> list = new ArrayList<>();
list.add("Java入门");
list.add("宁夏黑枸杞");
list.add("人字拖");
list.add("特级枸杞");
list.add("枸杞子");
// 注意:遍历集合删除,需要翻着进行遍历
for (int i = list.size() - 1; i >= 0; i--) {
if (list.get(i).contains("枸杞")) {
list.remove(i);
}
}
System.out.println(list);
}
4. 案例:菜品上架系统
4.1 需求
- 上架商品
- 展示商品
- 操作界面
4.2 代码实现
- 创建商品实体类
public class Food {
private String name;
private double price;
private String des;
public Food() {
}
public Food(String name, double prices, String des) {
this.name = name;
this.price = prices;
this.des = des;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public double getPrice() {
return price;
}
public void setPrice(double price) {
this.price = price;
}
public String getDes() {
return des;
}
public void setDes(String des) {
this.des = des;
}
}
- 创建商品的操作类
public class FoodOperator {
private ArrayList<Food> foodList = new ArrayList<>();
// 上架商品
private void addFood() {
Food food = new Food();
Scanner scanner = new Scanner(System.in);
System.out.print("请您输入菜品的名称:");
String name = scanner.next();
food.setName(name);
System.out.print("请您输入菜品的价格:");
Double price = scanner.nextDouble();
food.setPrice(price);
System.out.print("请您输入菜品的描述:");
String des = scanner.next();
food.setDes(des);
foodList.add(food);
}
// 展示菜品
private void showAllFood() {
for (int i = 0; i < foodList.size(); i++) {
Food food = foodList.get(i);
System.out.println("菜品名称:" + food.getName());
System.out.println("菜品价格:" + food.getPrice());
System.out.println("菜品描述:" + food.getDes());
System.out.println("------------");
}
}
// 操作界面
public void start() {
OUT:
while (true) {
System.out.println("------ 菜品上架系统 ------");
System.out.println("1. 上架菜品");
System.out.println("2. 显示菜品");
System.out.println("3. 退出系统");
System.out.print("请输入关键字:");
Scanner scanner = new Scanner(System.in);
int keyword = scanner.nextInt();
switch (keyword) {
case 1:
addFood();
break;
case 2:
showAllFood();
break;
case 3:
System.out.println("下次再来哦!");
break OUT;
default:
System.out.println("请输入正确的关键字!");
break;
}
}
}
}
- 编写测试类
public class ArrayList_demo {
public static void main(String[] args) {
FoodOperator operator = new FoodOperator();
operator.start();
}
}
- 结果展示