章14——Hashtable

news/2024/9/25 10:51:52/文章来源:https://www.cnblogs.com/gknives/p/18429887

键和值为NULL时会抛出空指针异常。KEY重复且无NULL时同样会替换,和HashMap是一样的。

按照2倍+1的规律去扩容

与HASHMAP对比

PROPERTIES,也是MAP接口的实现类,是Hashtable的子类
.properties 文件通常是用于数据库的配置文件,储存数据库的用户名密码等东西
详细可见博客园博客:Java 读写Properties配置文件

常用方法,同之前学的,多用KEY值进行操作

选取集合实现类的规则

TreeSet
使用TreeSet进行排序

代码如下:

public class TreeMap_ {public static void main(String[] args) {TreeSet treeSet = new TreeSet(new Comparator() {@Overridepublic int compare(Object o1, Object o2) {//调用方法进行字符串大小的比较//o2在前则是从大到小return ((String)o1).compareTo((String) o2);}});treeSet.add("jack");treeSet.add("tom");treeSet.add("sp");treeSet.add("a");}
}

将匿名内部类的对象传给TreeMap里面的comparator属性。此时TreeSet不会添加重复的对象,比较时如果发现为0,即相等,则会进行一个类似于替换的操作。
比如长度从大到小时,如果长度一样,则后来者无法添加进来,用原来的旧数据替换(?)该位置。

TreeMap
TreeSet的底层就是TreeMap。
从单例到Map的双例了,单例时VALUE值是个静态常量PRESENT。

在TreeMap的排序下,同TreeSet一样(因为二者底层相同),都是按照KEY值进行排序的。

TreeMap底层是ENTRY,而不再是NODE了。ENTRY是TREEMAP里面的一个内部类。

Collections工具类
基本上都是静态的方法。

代码如下:

        public static void main(String[] args) {List list = new ArrayList();list.add("tom");list.add("smith");list.add("king");list.add("milan");//反转Collections.reverse(list);System.out.println(list);//打乱顺序,每次打乱顺序后都不一样//可以用于抽奖游戏Collections.shuffle(list);//自然排序,按照字典顺序Collections.sort(list);//按照字符串长度大小排序等自定义排序Collections.sort(list, new Comparator() {@Overridepublic int compare(Object o1, Object o2) {return ((String)o1).length() - ((String)o2).length();}});//交换Collections.swap(list,0,1);}

其中一些要注意的代码:

        //将后面的表复制到前面的表中,拷贝List copy = new ArrayList();//但此时,因为大小太小会抛出异常for (int i = 0; i < list.size(); i++) {copy.add("");}Collections.copy(copy,list);

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

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

相关文章

mac安装allure成功后pycharm虚拟环境allure不可用

mac安装allure成功pycharm虚拟环境cmd提示zsh: command not found: allure mac查看安装成功在虚拟环境查看失败确认虚拟环境变量 如果 Allure 仍然不可用,检查虚拟环境中的 PATH 环境变量是否包含了 Allure CLI 的路径。在虚拟环境中,你可以运行以下命令来查看 PATH: echo $…

如何删除 WPS 在图片文件属性中添加的“属性修改”选项卡

近期发现 WPS 2023 这一个非常恼人的特性,在图片文件的属性窗口里面乱加第三方选项卡。同事的电脑安装了这个版本,就让同事从注册表试了一下。还好金山他们藏的不是很深,借助 GPT 很快也就找到了。这里再用鄙人自己的虚拟机演示一遍。HKEY_CLASSES_ROOT\*\shellex\PropertyS…

POST请求的艺术:如何有效使用POST方法

在HTTP协议中,POST方法是一种用于向服务器提交数据的请求方式。与GET请求不同,POST请求将数据包含在请求体(request body)中,而不是URL中。这使得POST请求更适合传输大量数据和敏感信息。本文将探讨如何有效使用POST方法,以及它在现代Web开发中的应用。POST请求的基本概念…

Springboot中动态管理定时任务

引言 基于cron表达式的定时任务实现,因为cron表达式对于每个任务不确定,所以使用线程池来动态的创建和销毁定时任务 依赖 因为使用的spring自带的调度功能,所以没有额外的依赖,我的项目版本为: 使用 首先需要定义一个线程池,使用@configuration 注解配置 import org.spr…

Leetcode 1396. 设计地铁系统

1.题目基本信息 1.1.题目描述 地铁系统跟踪不同车站之间的乘客出行时间,并使用这一数据来计算从一站到另一站的平均时间。 实现 UndergroundSystem 类:void checkIn(int id, string stationName, int t)通行卡 ID 等于 id 的乘客,在时间 t ,从 stationName 站进入乘客一次只…

C# 开源浏览器性能提升,体验Chrome级速度

前言 使用 C# 和 CefSharp 开发的全功能网页浏览器。 项目介绍 SharpBrowser 是目前最快的开源 C# 网页浏览器! 采用了轻量级的 CEF 渲染器,在呈现网页时甚至比 Google Chrome 更快。 我们对比了所有可用的.NET 浏览器引擎,最终选择了高性能的 CefSharp。 SharpBrowser 使用…

springcloud的热点数据进行流控

简单理解就是,同样请求一个接口的入参,针对该参数对应是规定值的数据请求,进行控制,比如我一个接口的一个参数为id,如果id值为1002、1003的入参进行热点控制,别的id值不控制随意请求。 采用的是sentinel进行热点数据控制 设置如下这个热点设置,需要借助@SentinelResour…

富勒WMS-产品档案导入

一、配置数据导入规则 根据自身了解,为了方便处理逻辑,一般选择临时表+个性化SP模式。该模式下导入时会先将模板导入到临时表中,然后通过存储过程“SPUDF_SKU_UDFIMP”处理相关逻辑导入到系统中。 其中,其实行号是指标题字段所在的行号。二、新建临时表 “TMP_UDFIMP_SKU”…

《鸿蒙/Harmony | 开发日志》预览文件

APP 中常有需求就是点击文件打开预览。 鸿蒙中,可以借助访问的预览文件服务来实现。 测试下来,常见的文档类型txt, doc, excel, ppt,pdf, 图片,视频等都是默认可以打开的。遇到不能打开的,界面也会按钮是否使用其他 APP 来打开。支持的文件类型 官方文档列出的支持类型,实…

redis-配置文件解读

Redis配置文件解读 第一节 网络配置相关 bind绑定连接IP 默认情况bind=127.0.0.1只能接受本机的访问请求,不写的情况下,无限制接受任何ip地址的访问,生产环境肯定要写你应用服务器的地址;服务器是需要远程访问的,所以需要将其注释掉.如果开启了protected-mode,那么在没有设…

Spring-MVC

Spring-MVC 介绍 https://docs.spring.io/spring-framework/reference/web/webmvc.html Spring Web MVC是基于Servlet API构建的原始Web框架,从一开始就包含在Spring Framework中。正式名称“Spring Web MVC”来自其源模块的名称( spring-webmvc ),但它通常被称为“Spring …

【泛微E9】查询部门的部门层级以及所有上级部门

效果图如下:field1:一级部门 field2:二级部门 field3:三级部门 field4:四级部门 field5:五级部门 field6:六级部门 创建视图,view_bmcjpath 视图定义如下: WITH RECURSIVE department_tree (id, DEPARTMENTMARK, supdepid, depth, path) AS ( -- 初始化查询(非递归部…