首页 > 其他分享 >章14——Hashtable

章14——Hashtable

时间:2024-09-25 10:45:30浏览次数:1  
标签:14 list TreeMap String add Collections Hashtable TreeSet

键和值为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() {
            @Override
            public 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() {
            @Override
            public 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);

标签:14,list,TreeMap,String,add,Collections,Hashtable,TreeSet
From: https://www.cnblogs.com/gknives/p/18429887

相关文章

  • 大数据-142 - ClickHouse 集群 副本和分片 Distributed 附带案例演示
    点一下关注吧!!!非常感谢!!持续更新!!!目前已经更新到了:Hadoop(已更完)HDFS(已更完)MapReduce(已更完)Hive(已更完)Flume(已更完)Sqoop(已更完)Zookeeper(已更完)HBase(已更完)Redis(已更完)Kafka(已更完)Spark(已更完)Flink(已更完)ClickHouse(正在更新···)章节内容上节我们完成了如下的内容:副本和分片,上节主要是......
  • CF1446C Xor Tree
    很有意思的题目,我们考虑能连边的两个数一定是在01-Trie上距离最近的两个点。于是我们先把所有数插入到01-Trie上去,然后\(dp_u\)考虑以\(u\)为根的子树中最多能留几个数,他的两个儿子内部的点只能在内部转移,你只能取一个儿子和另一个儿子的一个,也就是说我们的转移为\(dp_u......
  • 【数一线性代数】014入门
    Index本文稍后补全,推荐阅读:https://blog.csdn.net/weixin_60702024/article/details/141883851分析实现总结本文稍后补全,推荐阅读:https://blog.csdn.net/weixin_60702024/article/details/141883851请设计一个算法,将给定的表达式树(二叉树)转换为等价的中缀表达式(通过......
  • 【高中数学/对数/比大小】a=log_5_7 vs b=log_11_14
    【问题】比较a=log_5_7,b=log_11_14两数的大小?【解答】a-b=ln7/ln5-ln14/ln11=(ln7*ln11-ln5*ln14)/ln5/ln11=(ln7*ln11-ln5*ln7-ln5*ln2)/ln5/ln11=(ln7*ln2.2-ln5*ln2)/ln5/ln11>0所以a>b即log_5_7>log_11_14END......
  • 为什么会出现vcruntime140_1.dll丢失?无需重装系统,这里有vcruntime140_1.dll丢失最全修
    为什么会出现vcruntime140_1.dll丢失?vcruntime140_1.dll是MicrosoftVisualC++RedistributablePackage的一部分,它是许多Windows应用程序正常运行所必需的。当计算机出现vcruntime140_1.dll丢失的问题时,通常是由以下几个原因造成的:安装问题:安装不完整或损坏:某些应用程......
  • Elasticsearch8.14.3更换自带的openjdk版本
    目录1.背景2.当前版本3.安装指定版本4.配置环境变量5.重启6.验证当前版本7.总结概述:为何更换Elasticsearch集群中的JDK版本背景在部署的Elasticsearch集群中,我们遇到了频繁的CPU使用率飙升问题,导致某些节点宕机。这种情况不仅影响了集群的稳定性和可靠性,还增加了维......
  • 大数据-140 - ClickHouse 集群 表引擎详解5 - MergeTree CollapsingMergeTree 与其他
    点一下关注吧!!!非常感谢!!持续更新!!!目前已经更新到了:Hadoop(已更完)HDFS(已更完)MapReduce(已更完)Hive(已更完)Flume(已更完)Sqoop(已更完)Zookeeper(已更完)HBase(已更完)Redis(已更完)Kafka(已更完)Spark(已更完)Flink(已更完)ClickHouse(正在更新···)章节内容上节我们完成了如下的内容:MergeTree实测案例Re......
  • 高校高校教师教学质量评价系统 毕业设计-附源码88214
    摘要本研究旨在探讨基于SSM框架的高校教师教学质量评价系统的设计与实现。教师教学质量评价是高校教育质量保障的重要组成部分,而借助SSM框架的优势,可以快速构建一个全面、高效的评价系统,有助于提升教学质量管理水平。本系统将涵盖教师评价指标设定、评价数据管理、评价结......
  • 前端必备14款业界受欢迎的富文本编辑器
    前端必备❗️14款业界受欢迎的富文本编辑器1、wangEditor基于JavaScript和css开发的Web富文本编辑器,轻量、简洁、开源免费。2、TinyMCE一个轻量级的基于浏览器的所见即所得编辑器,由JavaScript写成。3、百度ueditor由百度web前端研发部开发所见即所得富文本web编辑器,可定制,注重用......
  • 2024-09-14:用go语言,给定一个正整数数组 nums,定义一个加密函数 encrypt(x),其将一个整数
    2024-09-14:用go语言,给定一个正整数数组nums,定义一个加密函数encrypt(x),其将一个整数x的每一位数字都替换为x中的最大数字,然后返回加密后的数字。例如,encrypt(523)会返回555,encrypt(213)会返回333。现在需要计算数组中所有元素加密后的和,然后返回这个和。输入:nums=[10,2......