java学习笔记(一)——String+ArrayList

发布时间:2026/10/26 1:26:23
java学习笔记(一)——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); } }

关于本文作者

来自尧图内容编辑团队

尧图内容编辑团队 内容团队

尧图内容编辑团队

本文由尧图网络内容编辑团队执笔。团队由资深项目经理、前端工程师与设计师组成,所有内容均来自亲手交付的真实项目,先讲清问题、再给出可落地的解法。尧图深耕北京网站建设十年,服务过京华建材集团、智造科技等各行业客户,把一线经验沉淀为可复用的行业观察。

  • 十年建站经验,覆盖建材、制造、服务、文创等
  • 项目经理把关选题与事实准确性
  • 工程师与设计师联合撰写专业细节
  • 统一编辑规范,保证文风与排版一致
  • 每月复盘转化数据,迭代选题方向

延伸阅读

相关资讯与近期热门内容

深度阅读推荐

建站决策前值得细读的三篇

网站改版的5个关键决策
2024-08-12

网站改版的5个关键决策

什么时候该改版、改到什么程度、如何避免流量掉光,京华建材集团改版复盘给出答案。

获取专属建站方案

看完文章,把您的行业与预算告诉我们,免费获取一份量身定制的官网建设方案与报价。

立即免费咨询