java-集合的使用 1

Java 中的集合框架(Collection Framework)是 Java API 的一部分,提供了对各种集合数据结构的支持。集合框架使得 Java 程序员能够方便地处理集合数据,而不必担心底层的实现细节。Java 集合框架包括一系列接口和类,用于表示和操作集合。
在 Java 中,集合可以分为两大类:集合(Collection)和映射(Map)。集合用于存储一组元素,而映射用于存储键值对。下面我们将分别介绍这两种类型的集合及其基本使用。
1. 集合(Collection)
Java 集合框架中的集合接口有三个:List、Set 和 Queue。这三个接口都是继承自 Collection 接口。
(1)List 接口
List 接口表示一个有序的元素集合,元素可以重复。List 接口的主要实现类有 ArrayList、LinkedList 和 Vector。
① ArrayList 类
ArrayList 类是基于动态数组的数据结构实现的,提供了随机访问和更新元素的能力。它的主要特点如下:
- 允许包含重复元素;
- 允许使用 null 值;
- 线程不安全;
- 查询速度快,但插入和删除速度较慢。
示例代码:
```java
import java.util.ArrayList;
public class ArrayListExample {
    public static void main(String[] args) {
        // 创建一个空的 ArrayList
        ArrayList<String> list = new ArrayList<>();
        // 向 ArrayList 中添加元素
        list.add("Apple");
        list.add("Banana");
        list.add("Cherry");
        // 输出 ArrayList 中的元素
        System.out.println(list);
        // 获取 ArrayList 中的元素个数
        System.out.println("Size: " + list.size());
        // 删除指定位置的元素
        list.remove(1);
        // 输出删除元素后的 ArrayList
        System.out.println(list);
        // 获取指定位置的元素
        System.out.println("Element at index 1: " + list.get(1));
    }
}
```
② LinkedList 类
LinkedList 类是基于双向链表的数据结构实现的,提供了顺序访问和更新元素的能力。它的主要特点如下:
- 允许包含重复元素;
- 允许使用 null 值;
- 线程不安全;
- 插入和删除速度快,但查询速度较慢。
示例代码:
```java
import java.util.LinkedList;
public class LinkedListExample {
    public static void main(String[] args) {
        // 创建一个空的 LinkedList
        LinkedList<String> list = new LinkedList<>();
        // 向 LinkedList 中添加元素
        list.add("Apple");
        list.add("Banana");
        list.add("Cherry");
        // 输出 LinkedList 中的元素
        System.out.println(list);
        // 获取 LinkedList 中的元素个数
        System.out.println("Size: " + list.size());
        // 删除指定位置的元素
        list.remove(1);
        // 输出删除元素后的 LinkedList
        System.out.println(list);
        // 获取指定位置的元素
        System.out.println("Element at index 1: " + list.get(1));
    }
}
```

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/24433.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【Python】读取文件夹中所有excel文件拼接成一个excel表格 的方法

我们平常会遇到下载了一些Excel文件放在一个文件夹下&#xff0c;而这些Excel文件的格式都一样&#xff0c;这时候需要批量这些文件合并成一个excel 文件里。 在Python中&#xff0c;我们可以使用pandas库来读取文件夹中的所有Excel文件&#xff0c;并将它们拼接成一个Excel表…

尝试使用blazor(一)吐槽blazor,未开始之前,先吐为敬

为什么要写一点关于blazor的文章呢?其实是没什么人看的&#xff0c;我知道blazor目前在国内使用的人数&#xff0c;恐怕一辆大巴车都坐不满。非常冷门&#xff0c;我刚用blazor遇到问题&#xff0c;花钱找人解决&#xff0c;找了国内几个著名的平台&#xff0c;几乎没人会blaz…

【docker】centos7配置docker镜像阿里云加速

国内从 DockerHub 拉取镜像有时会遇到困难&#xff0c;由于网络原因&#xff0c;下载一个Docker官方镜像可能会需要很长的时间&#xff0c;甚至下载失败。此时可以配置镜像加速器。Docker 官方和国内很多云服务商都提供了国内加速器服务。 测试了几次阿里云的加速是最快的。 …

Golang | Leetcode Golang题解之第131题分割回文串

题目&#xff1a; 题解&#xff1a; func partition(s string) (ans [][]string) {n : len(s)f : make([][]int8, n)for i : range f {f[i] make([]int8, n)}// 0 表示尚未搜索&#xff0c;1 表示是回文串&#xff0c;-1 表示不是回文串var isPalindrome func(i, j int) int8…

Hive 面试题(五)

1. 简述分区表和分桶表的区别 &#xff1f; 分区表&#xff08;Partitioned Table&#xff09;和分桶表&#xff08;Bucketed Table&#xff09;都是Hive中用于优化查询性能的数据组织方式&#xff0c;但它们在概念和用途上有所不同&#xff1a; 分区表&#xff08;Partition…

安装 JDK 8

安装包 百度网盘 提取码&#xff1a;6666 安装步骤 安装路径不要有中文或者特殊符号如空格等。 双击安装包开始安装。 更改安装路径&#xff1a; 跳出一个页面&#xff0c;安装公共 JRE&#xff1a; 配置环境变量&#xff1a; 配置成功&#xff1a; 去掉自动更新

git子模块

1 子模块管理的关键文件和配置 在 Git 中使用子模块时&#xff0c;Git 会利用几个特殊的文件和配置来管理子模块。以下是涉及子模块管理的关键文件和配置&#xff1a; 1.1 .gitmodules 这是一个文本文件&#xff0c;位于 Git 仓库的根目录下。它记录了子模块的信息&#xff…

AI数据分析:用deepseek根据Excel数据绘制分裂饼形图

工作任务&#xff1a;要绘制下面表格中月活用户占比的分裂饼形图 在deepseek中输入提示词&#xff1a; 你是一个Python编程专家&#xff0c;要完成一个Python脚本编写的任务&#xff0c;具体步骤如下&#xff1a; 读取Excel文件"F:\AI自媒体内容\AI行业数据分析\poetop5…

【LLM】度小满金融大模型技术创新与应用探索

note 从通用大模型到金融大模型金融大模型的训练技术创新金融大模型的评测方法创新金融大模型的应用实践创新总结&#xff1a;金融大模型迭代路径 一、轩辕大模型 二、垂直大模型训练 1. 数据准备 数据质量是模型效果的保障。首先数据要丰富&#xff0c;这是必备的条件。我们…

r语言编程艺术 mobi:深度解析R语言编程的奥秘与魅力

r语言编程艺术 mobi&#xff1a;深度解析R语言编程的奥秘与魅力 在数字化时代的浪潮中&#xff0c;R语言以其强大的数据处理能力和灵活的编程特性&#xff0c;逐渐成为数据分析领域的热门选择。而《r语言编程艺术 mobi》这本书&#xff0c;则为我们揭示了R语言编程的深层次奥秘…

除了springboot你还有哪些国产java web框架可以选择

在Java Web框架领域&#xff0c;除了广泛使用的Spring Boot之外&#xff0c;还有多个国产框架可供选择。这些框架各具特色&#xff0c;旨在提供更轻量、更快速、更易于使用的解决方案。以下是几个推荐的国产Java Web框架介绍&#xff1a; 1. **Solon**&#xff1a;Solon是一个…

MeiliSearch-轻量级且美丽的搜索引擎

MeiliSearch-轻量级且美丽的搜索引擎 MeiliSearch 是一个功能强大、快速、开源、易于使用和部署的搜索引擎。它具有以下特点&#xff1a; 支持中文搜索&#xff1a;MeiliSearch 对中文有良好的支持&#xff0c;不需要额外的配置。高度可定制&#xff1a;搜索和索引都可以高度…

TCP和udp能使用同一个端口通讯吗

TCP和UDP是可以使用同一个端口进行通讯的。这是因为TCP和UDP是两个完全不同的协议&#xff0c;它们工作在传输层&#xff0c;各自维护不同的连接和会话。每个协议都有自己的端口号空间&#xff0c;因此TCP和UDP可以互不干扰地使用相同的端口号。 但是&#xff0c;需要注意的是…

UML实现图-组件图

概述 组件图(ComponentDiagram)描述了软件的各种组件和它们之间的依赖关系。组件图中通常包含4种元素:组件、程序、包、任务&#xff0c;各个组件之间还可以相互依赖。 一、组件的表示法 组件是定义了良好接口的物理实现单元&#xff0c;是系统中可替换的物理部件。在一般情…

攻防世界---misc---小小的PDF

1、题目描述&#xff0c;下载附件是一个PDF&#xff0c;打开之后是这样&#xff0c;有两页PDF 2、用winhex分析&#xff0c;没有发现奇怪的地方 3、在kali中binwalk发现有多张照片 4、接着使用foremost将图片分离出来&#xff0c; 5、得到3张图片&#xff0c;打开第3张图片&am…

Android音频架构

Android音频架构 前面《Android音频API》介绍了Android系统提供的四个层面的音频API&#xff1a; Java层MediaRecorder&MediaPlayer系列&#xff1b;Java层AudioTrack&AudioRecorder系列&#xff1b;Jni层opensles&#xff1b;JNI层AAudio&#xff08;Android O引入&…

探索智慧林业系统的总体架构与应用

背景&#xff1a; 随着人们对森林资源保护和管理的重视&#xff0c;智慧林业系统作为一种新兴的林业管理手段&#xff0c;正在逐渐受到广泛关注和应用。智慧林业系统的总体架构设计与应用&#xff0c;将现代信息技术与林业管理相结合&#xff0c;为森林资源的保护、管理和利用…

注册自定义材质实现qgis里不同比例尺下材质不被拉升的效果

前景提要&#xff1a; 在QGIS里的显示效果&#xff0c;用的是示例的/img/textures/line-interval.png材质图片。 下载示例 git clone https://gitee.com/marsgis/mars3d-vue-example.git 相关效果 比如材质是5像素&#xff0c;在1:100000万比例尺下&#xff0c;线显示的长…

树的重心-java

主要通过深度优先搜索来完成树的重心&#xff0c;其中关于树的重心的定义可以结合文字多加理解。 文章目录 前言☀ 一、树的重心☀ 二、算法思路☀ 1.图用邻接表存储 2.图的遍历 3.算法思路 二、代码如下☀ 1.代码如下&#xff1a; 2.读入数据 3,代码运行结果 总结 前言☀ 主…

软考 系统架构设计师系列知识点之杂项集萃(28)

接前一篇文章&#xff1a;软考 系统架构设计师系列知识点之杂项集萃&#xff08;27&#xff09; 第43题 以下关于软件架构风格与系统性能的关系叙述中&#xff0c;错误的是&#xff08; &#xff09;。 A. 对于采用层次化架构风格的系统&#xff0c;划分的层次越多&#xff0…