——String+ArrayList)
文章目录String常用方法注意事项ArrayList增删查改集合的简单应用菜单系统String常用方法(String的equals对Objects的equals方法已进行重写所以可以通过内容相等判断。而对于基本数据类型比较的是值对于引用类型(包括String)比较的是地址。因此equals方法用于判断字符串内容是否相等注意事项String是不可变字符串即任何对String进行的修改都会创建一个新的对象并保留原有的对象StringBuilder是可变字符串其内部维护一个字符数组当进行字符串操作时它会在原有的数组上进行修改。因此当需要频繁修改字符串时StringBuilder不用创建大量对象而效率高使用…会在常量池存储一份字符串且相同内容只会存储一份。使用new String()会在…的基础上额外在堆内存创建一份对象简单问答题ArrayList最常用的集合在数组的基础上增删查改当遍历和删除同时进行时会出现并发修改异常*并发一段时间内只能执行一个任务但任务间的来回切换很多像很多个任务同时进行解决方案正向遍历每遍历到要删除的元素i-- 逆向遍历集合的简单应用菜单系统Food类定义菜品基本属性FoodOperator实现增删改查和显示信息并通过状态机整合为操作页面Test类用于测试Food类public class Food { private String name; private int price; private String desc;//菜品描述 public String getName() { return name; } public void setName(String name) { this.name name; } public int getPrice() { return price; } public void setPrice(int price) { this.price price; } public String getDesc() { return desc; } public void setDesc(String desc) { this.desc desc; } }FoodOperator类import java.util.ArrayList; import java.util.Scanner; public class FoodOperator { public static FoodOperator instancenew FoodOperator(); private FoodOperator(){ } ArrayListFood foodList new ArrayList(); //添加菜品 public void addFood(){ Food food new Food(); Scanner sc new Scanner(System.in); System.out.println(请输入菜品名称:); food.setName(sc.next()); System.out.println(请输入菜品价格); food.setPrice(sc.nextInt()); System.out.println(请输入菜品描述:); food.setDesc(sc.next()); foodList.add(food); System.out.println(添加菜品至菜单food.getName(),food.getPrice(),food.getDesc()); } //显示菜单信息 public void showInfo(){ if(foodList.size()0) { System.out.println(还没有点菜~~); return; } for (int i 0; i foodList.size(); i) { Food food foodList.get(i); System.out.println(food.getName(),food.getPrice(),food.getDesc()); } } //显示操作界面 public void start(){ Scanner sc new Scanner(System.in); boolean isStart true; while(isStart){ System.out.println(1.点菜); System.out.println(2.显示菜单信息); System.out.println(3.退出); int command sc.nextInt(); switch (command){ case 1: addFood(); break; case 2: showInfo(); break; case 3: System.out.println(欢迎下次再来); isStartfalse; break; default: System.out.println(输入的命令不正确); } } } }Test类import java.util.ArrayList; public class shop_system { static void main(){ ArrayListString list new ArrayList(); list.add(枸杞1); list.add(肉); list.add(枸杞2); list.add(蔬菜); list.add(枸杞3); System.out.println(list); // for (int i 0; i list.size(); i) { // String str list.get(i); // if(str.contains(枸杞)){ // list.remove(i); // i--; // } // } for(int ilist.size()-1;i0;i--){ String str list.get(i); if(str.contains(枸杞)){ list.remove(i); } } System.out.println(list); } }