当前位置: 首页 > news >正文

java常用应用程序编程接口(API)——ArrayList概述及使用案例

前言:

学习了ArrayList,整理下ArrayList的常用功能及基本案例。打好基础,daydayup!

 如果需要了解API是什么并如何使用,可以看这篇文章。

java常用应用程序编程接口(API)——String概述及使用案例

ArrayList语句

什么是ArrayList?

ArrayList是集合中最常用的一种,集合类似于数组,也是容器,用来装数据的,但集合的大小可变。

为什么要使用合集? 

数组定义完成并启动后,长度就固定了;集合大小可变,开发中用的更多。

 ArrayList的使用方式

创建对象,调用无参数构造器初始化对象:public ArrayList();  

ArrayList的常用方法

1,创建一个ArrayList的集合对象

格式:public boolean add(E e)

2,在合集的某个索引位置添加数据

格式:public void add(int index,E element)

3,根据索引从合集中获取某个索引的值

格式:public E get(int index)

4,获取集合中元素的个数

格式:public int size()

 5,删除集合中某个元素,并返回这个元素

格式:public E remove(int index)

6,直接删除数据,删除成功返回true,删除失败返回false

格式:public boolean remove(Object o)

 7,修改索引中的值,并返回原来的值

格式:public E set(int index,E element)
使用示例: 
 例:
public static void main(String[] args) {//1,创建一个ArrayList的集合对象ArrayList<String> la = new ArrayList();la.add("laslsl");la.add("kuku");la.add("kuku");la.add("lucy");la.add("yojimbo");System.out.println(la);System.out.println("----------------");// 2,在合集的某个索引位置添加数据la.add(0,"shuai");System.out.println(la);System.out.println("-----------------");//3,根据索引从合集中获取某个索引的值;String l1= la.get(1);System.out.println(la.get(1));System.out.println(l1);System.out.println("-----------------");//4,获取集合中元素的个数int l2= la.size();System.out.println(l2);System.out.println("------------------");//5,删除集合中某个元素,并返回这个元素System.out.println(la.remove(1));System.out.println("-------------------");//6,直接删除数据,删除成功返回true,删除失败返回falseSystem.out.println(la.remove("kuku"));System.out.println("--------------------");//7,修改索引中的值,并返回原来的值System.out.println(la.set(1, "我是大帅哥"));System.out.println(la);}

案例: 

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

实验思路:1,合集遍历;2,匹配枸杞选项;3,然后删除数据

public class ArrayListDemo1 {public static void main(String[] args) {ArrayList<String> la = new ArrayList();la.add("Java入门");la.add("宁夏枸杞");la.add("黑枸杞");la.add("人字拖");la.add("特级枸杞");la.add("枸杞子");//1
//        for (int i = 0; i < la.size(); i++) {
//            String q=la.get(i);
//            if (q.contains("枸杞")){
//                la.remove(q);
//                i--;
//            }
//
//        } System.out.println(la);//2for (int i = la.size() - 1; i >= 0; i--) {String q = la.get(i);if (q.contains("枸杞")) {la.remove(q);}}System.out.println(la);}
}

实验结果:数据成功被删除 

注:遍历方法有两种,一种从前到后进行遍历,另一种从后向前进行遍历。从前向后遍历,数据删除后会造成原本的合集长度变短,但i并不会跟随后退,所以需要在删除数据后进行i--操作,使i向后退一步

撒花!!!! 

http://www.lryc.cn/news/277610.html

相关文章:

  • 2024年了,Layui再战三年有问题不?
  • 消息队列-RocketMQ-概览与搭建
  • Vue3技术解析(小册子)
  • 即将消失的五种编程语言?
  • c++学习:STL库(框架)+字符串模板类string+vector容器+list链表
  • 2023年全国职业院校技能大赛(高职组)“云计算应用”赛项赛卷④
  • 使用Scikit Learn 进行识别手写数字
  • GB/T 15036-2018 实木地板检测
  • 基于ElementUI封装的下拉树选择可搜索单选多选清空功能
  • 计算机网络-各层协议
  • LeetCode 84:柱状图中的最大矩形
  • 老生重谈:大模型的「幻觉」问题
  • golang实现skiplist 跳表
  • 尝试OmniverseFarm的最基础操作
  • 第28关 k8s监控实战之Prometheus(二)
  • 基于 SpringBoot + magic-api + Vue3 + Element Plus + amis3.0 快速开发管理系统
  • Kafka(四)Broker
  • 代码随想录第五十二天——最长递增子序列,最长连续递增序列,最长重复子数组
  • 【大数据架构】OLAP实时分析引擎选型
  • 代码随想录刷题题Day29
  • CVE-2023-51385 OpenSSH ProxyCommand命令注入漏洞
  • 如何寻找到相对完整的真正的游戏的源码 用来学习?
  • 数模学习day11-系统聚类法
  • SpringBoot+Redis实现接口防刷功能
  • TensorRT加速推理入门-1:Pytorch转ONNX
  • springboot常用扩展点
  • 19道ElasticSearch面试题(很全)
  • 向爬虫而生---Redis 拓宽篇3 <GEO模块>
  • Vue项目里实现json对象转formData数据
  • leetcode刷题记录