javase_进阶 day10 集合2

泛型介绍

  • JDK5引入的, 可以在编译阶段约束操作的数据类型, 并进行检查
  • 注意 : 泛型默认的类型是Object

泛型的好处

  • 统一数据类型将运行期的错误提升到了编译期
  • 统一数据类型

常见的泛型标识符 : E V K T

E : Element
T : Type
K : Key(键)
V : Value(值)

总结:

1.泛型类

创建对象的时候确定具体类型

2.泛型方法

非静态: 泛型是根据类的泛型去匹配的

静态: 需要声明出自己独立的泛型

3.泛型接口 :

类实现接口的时候,直接确定类型

延续接口的泛型,等创建对象的时候再确定

4.泛型限定 :

? (任意类型)

? extends E (只能接收 E 或者是 E 的子类)

? super E (只能接收 E 或者是 E 的父类)

数据结构(树)

  • 介绍:
    在这里插入图片描述

在这里插入图片描述

TreeSet集合

  • 作用 : 对集合中的元素进行排序操作 (底层红黑树实现)

TreeSet的两种排序方式

  • 自然排序

  • 比较器排序

自然排序

1.类实现 Comparable 接口

2.重写 compareTo 方法

3.根据方法的返回值, 来组织排序规则

  • 负数 : 左边走

  • 正数 : 右边走

  • 0 : 不存

在这里插入图片描述

比较器排序

1.在 TreeSet 的构造方法中, 传入 Compartor 接口的实现类对象

2.重写 compare 方法

3.根据方法的返回值, 来组织排序规则

  • 负数 : 左边走

  • 正数 : 右边走

  • 0 : 不存

Java已经写好类, 大多数都具有自然排序的规则, 这些规则放在源代码中, 我们无法修改

(String, Integer, Double…)

String : 默认是字典顺序排序

Integer : 默认是升序排序

Double : 默认是升序排序

如果我们要实现的需求, 排序规则, 跟已经具备的自然排序, 不一样.

这时候就要使用比较器排序.

  • 重点: 如果同具备自然排序, 和比较器排序, 会优先按照比较器进行排序操作
    默认是升序排序

如果我们要实现的需求, 排序规则, 跟已经具备的自然排序, 不一样.

这时候就要使用比较器排序.

  • 重点: 如果同具备自然排序, 和比较器排序, 会优先按照比较器进行排序操作

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

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

相关文章

基于SSM+Jsp+Mysql的二手车交易网站

开发语言:Java框架:ssm技术:JSPJDK版本:JDK1.8服务器:tomcat7数据库:mysql 5.7(一定要5.7版本)数据库工具:Navicat11开发软件:eclipse/myeclipse/ideaMaven包…

innobackupex物理备份限制速度

限制mysql 物理备份速度。 备份文件不落本地目录,直接备份数据库到远程服务器目命令。 并且限制备份过程中的传输速度 innobackupex --uservems --passwordVem204~!. --streamtar /root/bakcup/source |gzip|pv -q -L1m|sshpass -p 1bienb*8ba ssh -p 58132…

Python 设计一个监督自己的软件1

基本要求:每做一件事,软件就会按照事情权重加相应的分数,总分数也会增加,要可视化页面 使用Python编写的一个简单的日常任务记录和评分系统,包括可视化页面。 首先,我们定义一个任务字典,其中包含各种日常任务及其对应的权重分数…

《高通量测序技术》分享,生物信息学生信流程的性能验证,以肿瘤NGS基因检测为例。

这是这本书,第四章第五节的内容,这一部分是以NGS检测肿瘤基因突变为例,描述了其原理和大概流程,这和以前我分享的病原宏基因组高通量测序性能确认方案可以互相补充,大家可以都看一下,但是想要真正的弄懂&am…

JS-27-操作表单

用JavaScript操作表单和操作DOM是类似的,因为表单本身也是DOM树。 不过表单的输入框、下拉框等可以接收用户输入,所以用JavaScript来操作表单,可以获得用户输入的内容,或者对一个输入框设置新的内容。 一、HTML表单的输入控件 H…

蓝桥杯2023A-05-互质数(Java)

5.互质数 题目描述 给定 a, b&#xff0c;求 1 ≤ x < a^b 中有多少个 x 与 a^b 互质。由于答案可能很大&#xff0c;你只需要输出答案对 998244353 取模的结果。 输入格式 输入一行包含两个整数分别表示 a, b&#xff0c;用一个空格分隔。 输出格式 输出一行包含一个…

Vue2电商前台项目(三):完成Search搜索模块业务

目录 一、请求数据并展示 1.写Search模块的接口 2.写Vuex中的search仓库&#xff08;三连环&#xff09; 3.组件拿到search仓库的数据 用getters简化仓库中的数据 4.渲染商品数据到页面 5.search模块根据不同的参数获取数据展示 &#xff08;1&#xff09;把派发actions…

【Android】【root remount 】【1】java中如何判断设备是否在root状态

前言 客户需求&#xff0c;需要判断设备是否执在root状态。可以理解为是否执行了adb root 设置root状态&#xff0c;已经adb unroot设置unroot状态。 代码分析 分析adb deamon发现&#xff1a;在执行adb root 、adb unroot指令时&#xff0c;系统会更新service.adb.root 变量…

TensorFlow学习之:了解和实践卷积神经网络和序列模型

卷积神经网络 学习CNN的结构和原理&#xff0c;了解如何用TensorFlow实现CNN。 卷积神经网络&#xff08;Convolutional Neural Networks&#xff0c;CNN&#xff09;是深度学习中的一种强大的模型架构&#xff0c;特别适合于处理图像数据。CNN通过使用卷积层自动地从图像中学…

绝望的C#:看得出,很多官方库也没经过大脑——InfluxDB.Client(这可是官方库哦)

初级代码游戏的专栏介绍与文章目录-CSDN博客 我的github&#xff1a;codetoys&#xff0c;所有代码都将会位于ctfc库中。已经放入库中我会指出在库中的位置。 这些代码大部分以Linux为目标但部分代码是纯C的&#xff0c;可以在任何平台上使用。 今天尝试使用influxdb。用的官…

使用MobaXterm/winTerm之类的工具连接虚拟机时报错Permission denied或者Access denied的解决办法

一、虚拟机设置&#xff1a; 1.将点击【编辑】---> 【虚拟网络编辑器】 2.添加VMnet6 1&#xff09;点击【DHCP设置】--->添加网络--->选中【仅主机模式】【将主机虚拟适配器连接到此网络】 2&#xff09;子网ip写“192.168.66.0” 3&#xff09;点击右下角【应用…

精准识别更安全,横扫六大手指难题的鹿客指脉锁S6 Max来了

极致的自然动作、极致的精准识别、识别时间600毫秒……在4月10日鹿客指脉锁S6 Max发布会上&#xff0c;高密度的关键词让关注发布会的所有人都意识到&#xff0c;下一代智能锁真的来了。 鹿客也将新品S6 Max称为“行业内、搭载全新一代指脉技术的革新之作”。 1、十年回答&…

Web 前端性能优化之八:前端性能检测实践

五、前端性能检测实践 1、常用的检测工具 Lighthouse、Chrome开发者工具中与性能检测相关的一些工具面板、页面加载性能分析工具PageSpeed Insights、专业的性能检测工具WEBPAGETEST等 1、Chrome 任务管理器 通过Chrome任务管理器我们可以查看当前Chrome浏览器中&#xff0…

Git常用命令以及异常信息汇总

常用命令&#xff1a; 查看本地分支&#xff1a; git branch 异常信息汇总 异常信息&#xff1a; Git&#xff1a;error: remote origin already exists 原因分析&#xff1a;远程源已经存在。 需要进行以下操作&#xff1a; 1、查看远程库的信息: git remo…

蓝桥杯真题 字串简写 前缀和

&#x1f468;‍&#x1f3eb; Acwing 字串简写 输入 4 abababdb a b输出 6&#x1f496; 前缀和 import java.util.Scanner;public class Main {static int N (int) 5e5 10;static int[] l new int[N];// l[i] 表示 i 以及 i 左边包含多少个字符 apublic static void …

springboot 问题整合

springboot 启动后访问报错 问题:org.apache.ibatis.binding.BindingException: Invalid bound statement (not found): 原因:mybatis 的全局配置文件和 sql 映射文件没有写 解决:在 application.yml 中添加 mybatis 配置 mybatis:# 全局配置文件config-location: classp…

Hugo 配置个人博客

下载 Hugo 下载地址: https://www.gohugo.org/ 或者点击百度云链接下载安装包: 链接&#xff1a;https://pan.baidu.com/s/1s2GuNuUKDjEXRzXgCvEYHQ?pwd6666 提取码&#xff1a;6666 安装 Hugo 在文件夹内建立新的文件夹, 在再内部建立两个文件夹, 分别命名为 bin 和 site.…

权威报道 | 百分点科技:《突发事件应急预案管理办法》解读

近日&#xff0c;百分点科技CTO刘译璟作为唯一企业界代表&#xff0c;接受应急领域权威期刊——《中国应急管理》杂志邀请&#xff0c;与中国安全生产科学研究院、中央党校、中国政法大学等单位的专家一起&#xff0c;就《突发事件应急预案管理办法》&#xff08;以下简称《办法…

【数据库】数据库应用系统生命周期

目录 1.为什么提出”软件工程“的思想&#xff1f; 2.为什么提出”瀑布模型“&#xff1f;缺点是什么&#xff1f; 3.为什么提出”快速原型模型“&#xff1f; 4.为什么提出”螺旋模型“&#xff1f; 5.关于数据库的英文缩写。 6.模型设计中的3条设计主线&#xff1a;数…

【快捷部署】015_Minio(latest)

&#x1f4e3;【快捷部署系列】015期信息 编号选型版本操作系统部署形式部署模式复检时间015MiniolatestCentOS 7.XDocker单机2024-04-09 一、快捷部署 #!/bin/bash ################################################################################# # 作者&#xff1a;c…