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

12.集合介绍以及数组的使用选择

集合基础

什么是集合

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

有数组为何还用集合?

数组定义完成并启动后,长度就固定了

集合大小可变,开发中用的更多

ArrayList 介绍

        ArrayList 是 Java 集合框架中的一部分,基于动态数组实现,允许存储重复元素和 null 值。它实现了 List 接口,支持随机访问,但插入和删除操作在中间位置时效率较低,因为需要移动元素。ArrayList 会根据需要自动扩容,初始默认容量为 10。

        创建 ArrayList

                可以通过多种方式创建 ArrayList:

// 1. 无参构造,默认初始容量为 10
ArrayList<String> list1 = new ArrayList<>();// 2. 指定初始容量
ArrayList<Integer> list2 = new ArrayList<>(20);// 3. 通过其他集合初始化
List<String> tempList = Arrays.asList("A", "B");
ArrayList<String> list3 = new ArrayList<>(tempList);

        增加元素

ArrayList<String> list = new ArrayList<>();// 在末尾添加单个元素
list.add("Apple");
list.add("Banana");// 在指定索引位置插入元素
list.add(1, "Orange");// 添加整个集合
List<String> fruits = Arrays.asList("Mango", "Grapes");
list.addAll(fruits);// 在指定位置添加整个集合
list.addAll(0, fruits);

  删除元素

ArrayList<String> list = new ArrayList<>(Arrays.asList("A", "B", "C", "D"));// 删除指定索引位置的元素
list.remove(1); // 删除 "B"// 删除第一个匹配的元素
list.remove("C");// 删除所有匹配的元素
list.removeAll(Arrays.asList("A", "D"));// 清空列表
list.clear();// 条件删除(删除长度大于3的字符串)
list.removeIf(s -> s.length() > 3);

修改元素

ArrayList<String> list = new ArrayList<>(Arrays.asList("Red", "Green", "Blue"));// 修改指定位置的元素
list.set(1, "Yellow"); // 将 "Green" 改为 "Yellow"

查询元素

ArrayList<String> list = new ArrayList<>(Arrays.asList("Dog", "Cat", "Bird"));// 获取指定位置的元素
String animal = list.get(1); // 返回 "Cat"// 判断是否包含某个元素
boolean hasDog = list.contains("Dog"); // true// 查找元素首次出现的位置
int index = list.indexOf("Bird"); // 返回 2// 查找元素最后一次出现的位置(适用于有重复元素的情况)
int lastIndex = list.lastIndexOf("Cat");// 获取列表大小
int size = list.size();// 检查列表是否为空
boolean isEmpty = list.isEmpty();// 遍历列表
for (String item : list) {System.out.println(item);
}// 使用迭代器遍历
Iterator<String> it = list.iterator();
while (it.hasNext()) {System.out.println(it.next());
}

元素个数

ArrayList<String> list = new ArrayList<>();
list.add("Apple");
list.add("Banana");
int count = list.size(); // 返回2

http://www.dtcms.com/a/548488.html

相关文章:

  • linux使用pipx
  • 顺德制作网站价格多少百度搜索页
  • WebSocket子协议STOMP
  • 品牌网站制作流程图抓取网站后台
  • 堆内存与栈内存的所有权管理:Rust 内存安全的底层逻辑
  • 从零开始的C++学习生活 18:C语言复习课(期末速通)
  • 跳水不改大趋势!盘后出利好!
  • phpstudy(PHP 集成开发环境工具)下载安装教程
  • 题解:CF2150B Grid Counting
  • 远程操作怕“泄密“?深度解析ToDesk/向日葵/Splashtop/AnyDesk安全隐私防护力
  • SQL之表的查改(上)
  • 专业制作网站 郑在电脑上做苗木网站
  • wordpress 主题采集网站大图片优化
  • 快站app制作教程钟表玻璃东莞网站建设
  • 网站首页一般做多大尺寸小程序开发兼职
  • 菜鸟网站建设行业网站建设哪家好
  • 自助建站源码下载直播软件视频软件
  • 安徽省建设干部学校网站关停手机网站开发软件下载
  • 电子手工外发加工网成都黑帽seo
  • 常德seowordpress评论框优化
  • 石家庄企业建站哪家好可以做用户调研的网站
  • 广西网站建设定制医疗营销网站建设
  • 企业网站内容如何搭建wordpress模板本地怎么安装
  • 免费网站在线观看人数在哪直播中小企业网站建设价格
  • 郑州陆港开发建设有限公司网站wordpress 关闭警告
  • 做韩国的跨境电商网站如何k掉网站
  • 佛山免费网站建设网站如何优化
  • 企业网网站怎么做保定建网站公司
  • 建设银行辽宁招聘网站社科联网站建设方案策划书
  • 如何建网站要什么条件wordpress 多地址插件