java-集合使用 3

TreeSet 类
TreeSet 类是基于红黑树的数据结构实现的,主要特点如下:
- 不允许包含重复元素;
- 允许使用 null 值;
- 线程不安全;
- 插入和删除速度较慢,但查询速度快,可以对元素进行排序。
示例代码:
```java
import java.util.TreeSet;
public class TreeSetExample {
    public static void main(String[] args) {
        // 创建一个空的 TreeSet
        TreeSet<String> set = new TreeSet<>();
        // 向 TreeSet 中添加元素
        set.add("Apple");
        set.add("Banana");
        set.add("Cherry");
        // 输出 TreeSet 中的元素
        System.out.println(set);
        // 判断 TreeSet 中是否包含某个元素
        System.out.println("TreeSet contains Banana: " + set.contains("Banana"));
        // 删除指定元素
        set.remove("Banana");
        // 输出删除元素后的 TreeSet
        System.out.println(set);
    }
}
```
(3)Queue 接口
Queue 接口表示一个先进先出(FIFO)的集合。Queue 接口的主要实现类有 ArrayDeque、LinkedList 和 PriorityQueue。
① ArrayDeque 类
ArrayDeque 类是基于动态数

数组的数据结构实现的,主要特点如下:
- 允许包含重复元素;
- 允许使用 null 值;
- 线程不安全;
- 插入和删除速度快,查询速度较慢。
示例代码:
```java
import java.util.ArrayDeque;
public class ArrayDequeExample {
    public static void main(String[] args) {
        // 创建一个空的 ArrayDeque
        ArrayDeque<String> queue = new ArrayDeque<>();
        // 向 ArrayDeque 中添加元素
        queue.add("Apple");
        queue.add("Banana");
        queue.add("Cherry");
        // 输出 ArrayDeque 中的元素
        System.out.println(queue);
        // 获取 ArrayDeque 中的元素个数
        System.out.println("Size: " + queue.size());
        // 删除指定位置的元素
        queue.remove(1);
        // 输出删除元素后的 ArrayDeque
        System.out.println(queue);
        // 获取指定位置的元素
        System.out.println("Element at index 1: " + queue.get(1));
    }
}
```
② LinkedList 类
LinkedList 类是基于双向链表的数据结构实现的,主要特点如下:
- 允许包含重复元素;
- 允许使用 null 值;
- 线程不安全;
- 插入和删除速度快,查询速度较慢。
示例代码:
```java
import java.util.LinkedList;
public class LinkedListExample {
    public static void main(String[] args) {
        // 创建一个空的 LinkedList
        LinkedList<String> queue = new LinkedList<>();
        // 向 LinkedList 中添加元素
        queue.add("Apple");
        queue.add("Banana");
        queue.add("Cherry");
        // 输出 LinkedList 中的元素
        System.out.println(queue);
        // 获取 LinkedList 中的元素个数
        System.out.println("Size: " + queue.size());
        // 删除指定位置的元素
        queue.remove(1);
        // 输出删除元素后的 LinkedList
        System.out.println(queue);
        // 获取指定位置的元素
        System.out.println("Element at index 1: " + queue.get(1));
    }
}
```
③ PriorityQueue 类
PriorityQueue 类是基于堆的数据结构实现的,主要特点如下:
- 不允许包含重复元素;
- 允许使用 null 值;
- 线程不安全;
- 插入和删除速度快,查询速度较慢。
示例代码:
```java
import java.util.PriorityQueue;
public class PriorityQueueExample {
    public static void main(String[] args) {
        // 创建一个空的 PriorityQueue
        PriorityQueue<Integer> queue = new PriorityQueue<>();
        // 向 PriorityQueue 中添加元素
        queue.add(3);
        queue.add(1);
        queue.add(4);
        queue.add(1);
        queue.add(5);
        // 输出 PriorityQueue 中的元素
        System.out.println(queue);
        // 获取 PriorityQueue 中的元素个数
        System.out.println("Size: " + queue.size());
        // 删除并返回队列中的头元素
        System.out.println("Removed head element: " + queue.poll());
        // 输出删除元素后的 PriorityQueue
        System.out.println(queue);
    }
}
 

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

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

相关文章

JAVA java8中内置的四大核心接口

Consumer:消费型接口 方法&#xff1a;void accept(T t) private static void test01(){happy(50000,(money)-> System.out.println("zrx将来月薪"money"元"));}public static void happy(double money, Consumer<Double> com){com.accept(money…

20240606更新Toybrick的TB-RK3588开发板在Android12下的内核

20240606更新Toybrick的TB-RK3588开发板在Android12下的内核 2024/6/6 10:51 0、整体编译&#xff1a; 1、cat android12-rk-outside.tar.gz* | tar -xzv 2、cd android12 3、. build/envsetup.sh 4、lunch rk3588_s-userdebug 5、./build.sh -AUCKu -d rk3588-toybrick-x0-a…

Clo3D导出服装动画,使用Unity3D展示

1.前言 Clo3D是一款应用于时装行业的3D服装设计软件,其强大的布料模拟算法可在3D空间中实现设计、制版、试衣和走秀,大幅提升数字作品逼真度和制作效率。为了让服装动画效果展示在Unity3D上模拟效果&#xff0c;需要Clo3D模拟出逼着的衣服动画。总体流程为Clo3D - Mixamo -Blen…

登Cell Press子刊,武汉理工大学团队基于集成学习提出简化电化学模型,0.17s完成3500s的1C恒流放电

2022 年 7 月&#xff0c;不老男神林志颖突发车祸&#xff0c;作为专业赛车手的他驾驶的特斯拉 Model X 在行驶过程中忽然偏离既定轨迹&#xff0c;一头撞向路边的隔离带&#xff0c;随后车辆起火&#xff0c;并在救援车拖吊过程中二次起火&#xff0c;最终整辆车被烧到只剩下了…

【ai】Audio2Face

Audio2Face 简介 Audio2Face是英伟达Omniverse平台的一部分,它使用先进的AI技术来生成基于音频输入的逼真面部动画。这个技术主要利用深度学习模型来解析人声,进而驱动一个三维模型的面部表情。下面是Audio2Face工作流程的详细说明: 预备阶段 在使用Audio2Face之前,需要准…

从零手写实现 nginx-13-nginx.conf 配置例子解释 + nginx 配置文件要如何解析?

前言 大家好&#xff0c;我是老马。很高兴遇到你。 我们为 java 开发者实现了 java 版本的 nginx https://github.com/houbb/nginx4j 如果你想知道 servlet 如何处理的&#xff0c;可以参考我的另一个项目&#xff1a; 手写从零实现简易版 tomcat minicat 手写 nginx 系列 …

Java心跳检测机制

版权声明 本文原创作者&#xff1a;谷哥的小弟作者博客地址&#xff1a;http://blog.csdn.net/lfdfhl 心跳检测的定义 心跳检测是一种监控机制&#xff0c;在Java编程和分布式系统中具有广泛的应用。心跳检测&#xff0c;顾名思义&#xff0c;就像心跳一样&#xff0c;是一种…

【JS】理解闭包及其应用

历史小剧场 明朝灭亡&#xff0c;并非是简单的政治问题&#xff0c;事实上&#xff0c;这是世界经济史上的一个重要案例。 所谓没钱&#xff0c;就是没有白银。----《明朝那些事儿》 什么是闭包&#xff1f; 闭包就是指有权访问另一个函数作用域中变量的函数 闭包变量存储位置&…

Lidar3607.2 雷达点云数据处理软件新增功能介绍

新特性:预处理航带平差新增livox激光器镜面误差改正,新增多源航带平差&#xff0c;提升点云和影像匹配精度优化配准功能流程&#xff0c;ICP功能支持点云与模型配准安置检校新增轨迹自动裁剪轨迹解算时投影坐标增加Z值记录数据管理新增点云色彩亮度和对比度调节新增多段线平滑工…

Python中报错提示:TypeError: Student() takes no arguments

Python中报错提示&#xff1a;TypeError: Student() takes no arguments 在Python编程中&#xff0c;类是创建对象的蓝图。每个类都可能包含一个特殊的方法__init__&#xff0c;我们称之为构造函数&#xff0c;它在创建新实例时被调用。如果你在尝试创建一个类的实例时遇到了Ty…

端午节赛龙舟,我们的新队员---AI大模型

赛龙舟的比赛通常在一个湖泊或河流上进行&#xff0c;参赛队伍会驾驭着长形的龙舟&#xff0c;每艘船上有一名鼓手和多名桨手。比赛开始时&#xff0c;鼓手会击鼓来指挥桨手的划桨节奏&#xff0c;而桨手们则要协同合作&#xff0c;以最快的速度将龙舟划向终点。 赛龙舟不仅仅是…

【SpringCloud学习笔记】Docker(中篇)

Docker 1. 自定义镜像 前面我们都是使用docker pull拉取仓库中现成的镜像&#xff0c;但是如果我们想要将一个Java应用程序构建成镜像然后部署应该怎么做呢&#xff1f;这个时候我们就需要自定义镜像了 **镜像&#xff1a;**本质上就是一堆文件的集合&#xff0c;包含了应用程…

【清华大学】《自然语言处理》(刘知远)课程笔记 ——NLP Basics

自然语言处理基础&#xff08;Natural Language Processing Basics, NLP Basics&#xff09; 自然语言处理( Natural Language Processing, NLP)是计算机科学领域与人工智能领域中的一个重要方向。它研究能实现人与计算机之间用自然语言进行有效通信的各种理论和方法。自然语言…

临床应用的深度学习在视网膜疾病的诊断和转诊中的应用| 文献速递-视觉通用模型与疾病诊断

Title 题目 Clinically applicable deep learning for diagnosis and referral in retinal disease 临床应用的深度学习在视网膜疾病的诊断和转诊中的应用 01 文献速递介绍 诊断成像的数量和复杂性正在以比人类专家可用性更快的速度增加。人工智能在分类一些常见疾病的二…

归并排序-成绩输出-c++

注&#xff1a;摘自hetaobc-L13-4 【任务目标】 按学号从小到大依次输入n个人的成绩&#xff0c;按成绩从大到小输出每个人的学号&#xff0c;成绩相同时学号小的优先输出。 【输入】 输入第一行为一个整数&#xff0c;n&#xff0c;表示人数。&#xff08;1 ≤ n ≤ 100000…

【Node.js快速部署opencv项目】图像分类与目标检测

⭐️我叫忆_恒心&#xff0c;一名喜欢书写博客的研究生&#x1f468;‍&#x1f393;。 如果觉得本文能帮到您&#xff0c;麻烦点个赞&#x1f44d;呗&#xff01; 近期会不断在专栏里进行更新讲解博客~~~ 有什么问题的小伙伴 欢迎留言提问欧&#xff0c;喜欢的小伙伴给个三连支…

高考之后第一张大流量卡应该怎么选?

高考之后第一张大流量卡应该怎么选&#xff1f; 高考结束后&#xff0c;选择一张合适的大流量卡对于准大学生来说非常重要&#xff0c;因为假期期间流量的使用可能会暴增。需要综合考虑多个因素&#xff0c;以确保选到最适合自己需求、性价比较高且稳定的套餐。以下是一些建议…

BM算法举例

BM算法概述 Boyer-Moore算法(BM算法)是一种高效的字符串匹配算法。它通过在匹配过程中尽可能多地跳过不必要的字符比较来加速搜索过程。BM算法主要利用两个启发规则:坏字符规则(Bad Character Rule)和好后缀规则(Good Suffix Rule)。 以下是Boyer-Moore算法的Python实现…

【Python机器学习】非负矩阵分解(NMF)

非负矩阵分解&#xff08;NMF&#xff09;也是一种无监督算法&#xff0c;其目的在于提取有用的特征。它的工作原理类似于PCA&#xff0c;也可以用于降维。与PCA相同&#xff0c;我们试图将每个数据点写成一些分量的加权求和。但在PCA中&#xff0c;我们想要的是正交分量&#…

Linux——PXE整体流程

1.自己安装一个CentOS 8的服务器 1&#xff09;手动安装 虚拟硬件配置&#xff1a;2核CPU&#xff0c;4G内存&#xff0c;100G硬盘 2个网卡&#xff08;一个通外网&#xff0c;一个内部使用&#xff09; 软件安装&#xff1a;Server GUI 磁盘分区&#xff1a;使用逻辑卷&#…