JavaSE——常用API(3/3)-ArrayList入门、ArratList使用、ArrayList综合案例

简介: JavaSE——常用API(3/3)-ArrayList入门、ArratList使用、ArrayList综合案例

ArrayList入门

ArrayList代表的是一种集合

那什么是集合?

  • 集合是一种容器,用来装数据,类似于数组。

有数组为什么还要学习集合呢?

  • 数组定义完成并启动后,长度就固定了。
  • 但是这并不符合我们大多数的需求,而集合大小可变,开发中用得更多。

集合的种类

  • HashSet
  • List
  • Map
  • Set
  • TreeSet
  • ArrayList
  • HashMap
  • LinkedHashMap
  • ......

ArrayList集合怎么学

ArrayList集合既然是一种容器,那么自然会提供创建容器对象的方式,以及提供相应的方法对容器进行操作:添加数据删除某个数据修改某个数据获取某个数据

所以我们要学习ArrayList的三点:

  1. 创建对象
  2. 增删查改的方法
  1. 容器的其他特点

ArrayList<E>

  • 是用得最多、最常见的一种集合

尖括号内的E代表了容器可以存储什么数据类型,如果不写则代表可以存储任意数据类型。

例如:

//在创建ArrayList集合对象时
ArrayList list1 = new ArrayList();
 
ArrayList<String> list2 = new ArrayList<String>();
 
//list1这个集合可以存储任意类型的数据
//而list2因为加上了String的约束,所以只能存储String类型的数据
//JDK1.7开始才支持的

图片.png

注意

  • 调用remove方法删除指定的元素而非指定的索引时,会删除出现的第一个指定的元素,不会删除后面与它相同的元素。

ArratList使用

通过完成一个简单的案例来掌握ArrayList的初步使用,

需求

现在假如购物车中存储了如下这些商品:Java入门,宁夏枸杞,黑枸杞,人字拖,特级枸杞,枸杞子。现在用户不想买枸杞了,选择了批量删除,请完成该需求。

  1. 后台使用ArrayList集合表示购物车,存储这些商品名。
  2. 遍历集合中的每个数据,只要这个数据包含了“枸杞”则删除它。
  3. 输出集合看是否已经成功删除了全部枸杞数据了。



package user.ArrayListTest;
 
import java.util.ArrayList;
 
public class Test1 {
    public static void main(String[] args) {
        ArrayList<String> shoppingCart = new ArrayList<String>();
 
        shoppingCart.add("Java入门");
        shoppingCart.add("宁夏枸杞");
        shoppingCart.add("黑枸杞");
        shoppingCart.add("人字拖");
        shoppingCart.add("特级枸杞");
        shoppingCart.add("特级枸杞");
        shoppingCart.add("枸杞子");
 
        for (int i = shoppingCart.size() - 1; i >= 0; i--) {
            String rs = shoppingCart.get(i);
            if(rs.contains("枸杞")){
                shoppingCart.remove(rs);
            }
        }
 
        System.out.println(shoppingCart);
    }
}


运行结果:


ArrayList综合案例

需求

完成菜品的上架,以及菜品信息浏览功能。

把每一个菜品当成一个对象,所以先要设计一个菜品类来创建菜品对象。

设计菜品类

比较简单地把菜品的基本信息结果写出来即可

package user.ArrayListTest;
 
public class Cuisine {
    private String CuisineName;  //菜品名称
    private double CuisinePrice; //菜品价格
    private String CuisineDesc;  //菜品描述
 
    public Cuisine() {
    }
 
    public Cuisine(String cuisineName, double cuisinePrice, String cuisineDesc) {
        CuisineName = cuisineName;
        CuisinePrice = cuisinePrice;
        CuisineDesc = cuisineDesc;
    }
 
    public String getCuisineName() {
        return CuisineName;
    }
 
    public void setCuisineName(String cuisineName) {
        CuisineName = cuisineName;
    }
 
    public double getCuisinePrice() {
        return CuisinePrice;
    }
 
    public void setCuisinePrice(double cuisinePrice) {
        CuisinePrice = cuisinePrice;
    }
 
    public String getCuisineDesc() {
        return CuisineDesc;
    }
 
    public void setCuisineDesc(String cuisineDesc) {
        CuisineDesc = cuisineDesc;
    }
}

设计完菜品类之后就可以开始设计菜品的操作类了,因为需求是进行菜品的上架,是由用户进行的,所以要通过菜品操作类来执行。

设计菜品操作类

设计菜品的操作类,要完成上架菜品的操作和展示菜品的操作

package user.ArrayListTest;
 
import java.util.ArrayList;
import java.util.Scanner;
 
public class CuisineOperator {
    //先创建一个菜品的列表,用于存储用户上架的每一道菜品,也就是接收菜品对象
    private ArrayList<Cuisine> CuisineList = new ArrayList<>();
 
    //开始上架菜品
    public void addCuisine(){
        //临时创建一个菜品对象,用来接收要上架的菜品信息
        Cuisine food = new Cuisine();
 
        //录入菜品数据
        Scanner sc = new Scanner(System.in);
        System.out.println("请您输入菜品名称:");
        String name = sc.next();
        food.setCuisineName(name);
 
        System.out.println("请您输入菜品价格:");
        double price = sc.nextDouble();
        food.setCuisinePrice(price);
 
        System.out.println("请您输入菜品描述:");
        String desc = sc.next();
        food.setCuisineDesc(desc);
 
        //得到数据后存入菜品清单
        CuisineList.add(food);
    }
 
    //展示菜品
    public void showAllCuisine(){
        for (int i = 0; i < CuisineList.size(); i++) {
            Cuisine c = CuisineList.get(i);
            System.out.println(c.getCuisineName());
            System.out.println(c.getCuisinePrice());
            System.out.println(c.getCuisineDesc());
            System.out.println("---------------");
 
        }
    }
 
    //展示操作界面
    public void start(){
        System.out.println("请选择操作:");
        System.out.println("1.上架菜品");
        System.out.println("2.展示菜品");
        System.out.println("3.退出");
 
        Scanner sc = new Scanner(System.in);
        System.out.println("请选择您的操作:");
        String command = sc.next();
        switch (command){
            case "1":
                addCuisine();
                break;
            case "2":
                showAllCuisine();
                break;
            case "3":
                System.out.println("欢迎下次再来!");
                return;
            default:
                System.out.println("您输入的命令不存在");
        }
 
    }
 
}

运行

package user.ArrayListTest;
 
public class CuisinePutaway {
    public static void main(String[] args) {
        //1.先设计一个菜品类Cuisine
 
        //2.设计菜品操作类CuisineOperator
        
        //开始运行这个案例
        CuisineOperator operator = new CuisineOperator();
        operator.start();
 
    }
}


运行结果:



END



目录
相关文章
|
11月前
|
JSON 安全 API
电商API入门问答:开发者必知的10个基础问题
本文详解电商API的10个基础知识,涵盖定义、用途、认证、安全等内容,帮助开发者快速入门并提升开发效率。
|
11月前
|
缓存 监控 安全
电商API集成入门:从零开始搭建高效接口
在数字化电商时代,API集成成为企业提升效率、实现系统互联的关键。本文从零开始,逐步讲解如何搭建高效、可靠的电商API接口,适合初学者学习。内容涵盖API基础、认证安全、请求处理、性能优化等核心步骤,并提供Python代码示例与数学公式辅助理解。通过实践,读者可掌握构建优质电商API的技巧,提升用户体验与系统性能。
|
JSON 算法 API
一文掌握 1688 商品详情 API 接口:从入门到实战
1688是国内领先的综合电商批发平台,提供海量商品资源。其商品详情API助力开发者与企业获取商品的详细信息(如属性、价格、库存等),广泛应用于电商数据分析、比价系统及采购场景。API支持GET/POST请求,需传入通用参数(app_key、timestamp等)与业务参数(如product_id)。返回JSON格式数据,包含商品标题、价格、图片链接等详情,提升业务效率与决策精准度。
4594 6
|
搜索推荐 API 开发者
京东商品列表 API 接口全解析:从入门到精通
京东商品列表API是京东开放平台为开发者提供的核心数据接口,支持批量获取商品基础信息、价格、库存状态等多维度数据。它具备数据丰富性、灵活筛选与分页查询、稳定高效等特点,可满足市场分析、选品优化、比价工具及推荐系统开发等需求,为电商业务创新提供坚实支撑。通过标准化通道,助力第三方高效、合法地利用京东海量商品数据。
|
12月前
|
缓存 负载均衡 监控
微服务架构下的电商API接口设计:策略、方法与实战案例
本文探讨了微服务架构下的电商API接口设计,旨在打造高效、灵活与可扩展的电商系统。通过服务拆分(如商品、订单、支付等模块)和标准化设计(RESTful或GraphQL风格),确保接口一致性与易用性。同时,采用缓存策略、负载均衡及限流技术优化性能,并借助Prometheus等工具实现监控与日志管理。微服务架构的优势在于支持敏捷开发、高并发处理和独立部署,满足电商业务快速迭代需求。未来,电商API设计将向智能化与安全化方向发展。
583 102
|
JSON API 开发工具
电商API接口入门指南
本文介绍了API的基础知识及其在电商领域的实际应用。首先,阐释了API的概念、运作机制及参数与返回值的作用,帮助读者理解如何通过API实现软件间的交互。接着,以获取电商商品列表为例,详细讲解了从选择平台、引入SDK到编写代码调用API的全流程。示例代码采用Python语言,利用requests库发送请求并解析JSON数据,为开发者提供了清晰的实践指导。
|
8月前
|
Cloud Native 算法 API
Python API接口实战指南:从入门到精通
🌟蒋星熠Jaxonic,技术宇宙的星际旅人。深耕API开发,以Python为舟,探索RESTful、GraphQL等接口奥秘。擅长requests、aiohttp实战,专注性能优化与架构设计,用代码连接万物,谱写极客诗篇。
1702 1
Python API接口实战指南:从入门到精通
|
11月前
|
供应链 API
案例分享:API如何助力小型电商实现月销售额翻倍
&quot;悦居生活&quot;通过接入支付、库存、营销及物流API,优化运营流程,解决库存滞后、营销低效、物流体验差等问题,实现库存周转率提升152%、会员复购率增长128%、月销售额突破32万元。
|
数据挖掘 API 开发者
京东商品详情 API 接口全攻略:从入门到精通
京东商品详情API接口是京东开放平台为开发者提供的服务,用于获取商品详细信息。通过调用接口,开发者可获得商品属性、价格、库存、促销信息等数据,适用于电商应用、价格比较工具及数据分析平台等场景。支持GET/POST请求方式,参数包括API版本、密钥等。示例代码展示了如何使用Python的requests库调用该接口,并获取JSON格式的返回数据,包含商品基本信息、价格、库存和用户评价等内容。
490 16
|
11月前
|
存储 安全 API
亚马逊SP-API入门:海外电商接口调用与国内平台的差异化
亚马逊 SP-API 与国内电商 API 在技术架构、安全机制及开发流程上差异显著。本文对比京东、淘宝等平台,分析接口设计、地域适配、权限管理等核心差异,并结合实战经验提供开发建议,助力开发者高效接入 SP-API,实现全球电商业务拓展。