Util类简单介绍

article/2025/10/7 8:20:06

在这里插入图片描述集合简单介绍
一. Set集合
1.不包含重复元素、无序的元素集合 且存和取顺序不一致 无索引
2.Set集合的实现类有HashSet和LinkedHashSet Set接口继承于Collection接口
3.Set集合中没有get()方法 只有add(Element e)方法 没有add(key,Element)方法
4. 如:HashSet mySet=new HashSet();
mySet.add(“aa”);
mySet.add(“aa”);
mySet.add(“aa”);
mySet.add(“dd”); 输出 dd aa ;
5.HashSet的实现原理
往HashSet添加元素时,HashSet会先调用hashCode方法的方法元素的哈希值,通过元素的哈希值经过移位等元素就可以算出该元素在哈希表中的存储位置
情况1:当前元素存储位置目前没有任何元素存储,将该元素直接存储到此位置
情况2:如果该元素的存储位置已经有其他元素,那么会调用该元素equals方法与该位置的元素再比较一次
如果返回true,则认为该元素为重复元素,添加失败。如果为false 那么该元素运行添加。
二 、List集合
1.包含重复元素、有序 存和取顺序一致 有索引
2 List集合的实现类 ArrayList LinkedList List接口继承于Collection接口
3 有add(Element e) add(index,Element e) 方法 和get(index)
4.如:List list=new ArrayList();
list.add(0,“aa”); //索引必须从0开始 因此list还没有元素size=0
list.add(1,“bb”);
list.add(2,“aa”);
for(String str:list) {
System.out.println( str );
}
输出:aa bb aa
三、Map集合
1.Map集合用于存储元素对,Map存储的是一对键值(key-value) 通过key映射到value
2.实现类有Hashtable、HashMap
Hashtable是同步的 保证了Hashtable里面的对象是线程安全的 不可以存入空值null key和value均不能为null
HashMap是异步的 HashMap里面的对象不是线程安全 最多一条key为null(否则会覆盖) 但允许多条value为null
3.HashMap<String,Integer> map = new HashMap<String,Integer>();
map.put(“test”, 1);
map.put(“test1”, 2);
map.put(“test2”, 1);
map.put(“test2”, 3); //当key相等 value不同 会覆盖
//第一种方法 Hashtable 和HashMap 方法类似
//获取map中的key 返回map中所包含的键
Set keys=map.keySet();
for(String str: keys){
System.out.println(str+" “+map.get(str)); //获得key对应的value
}
//第二种方法
//得到map实例中所有的value,返回值类型为Collection
Collection values=map.values();
for(Integer value: values){
System.out.println(value+” “); //获得key对应的value
}
//第三种方法
//回 Map中所包含映射的 Set视图。 Set 中的每个元素都是一个 Map.Entry对象,
//可以使用 getKey()和 getValue()方法(还有一个 setValue()方法)访问后者的键元素和值元素
Set<Entry<String, Integer>> entrySet = map.entrySet();
Iterator<Entry<String, Integer>> iterator = entrySet.iterator();
while(iterator.hasNext()){
Entry<String, Integer> next = iterator.next();
next.setValue(10);
System.out.println( next.getKey()+” "+next.getValue());
}
备注:集合中只能存放对象 引用类型 ,不能存基本类型
集合分为存储 value 和key-value两种
存储value的有List、Set 。 存储key-value 的为Map


http://chatgpt.dhexx.cn/article/jjmZKmHj.shtml

相关文章

史上最全总结!Util、POJO、domain、entity、model、DAO、DTO、view、mapper、service、controller的作用和区别分析

文章目录 前言工具类层Util 数据层POJO对象domainentitymodelviewDTO总结 数据访问层DAOmapper 业务层service 控制层Controller 前言 做开发项目时&#xff0c;总会遇到这些包&#xff0c;理清他们的层次&#xff0c;非常有助于我们对于项目的理解和建立。 现阶段CSDN上貌似…

vivado case_【vivado(3)】序列检测/状态机

手机上不好看可用电脑看 (1)首先建立一个工程名叫seq_det: 详细步骤可查看: 【vivado(1)】vivado软件的简单使用 【vivado(2)】计数器/testbench仿真 (2)建立一个design source如下所示: 右击design source, 选择add or create design source, 然后next 选择create file, …

vivado dcp生成

dcp与edif (write_edif命令生成) 比较&#xff1a; dcp主要有两个优点&#xff1a;第一个不需要手动生成stub文件&#xff0c;dcp是一个 压缩包里面包含所有文件。 第二个不需要xdc&#xff0c;尤其对于使用ip的设计。同时还可以使用加密功能。 不同阶段产生的dcp也不相同&a…

vivado ip打包归档

一般来说&#xff0c;要保存vivado工程使用的ip只需要xci文档即可。 但xci文档不仅仅是包含对应ip的配置信息&#xff0c;同样记录了一些path路径&#xff0c;以及ip核的属性&#xff08;core container/ooc等&#xff09; 使能core container后,将会以xcix方式保存ip核信息&…

Vivado驱动安装

一、卸载 二、打开Vivado 1 、 2 、 3、 4、 确认即可 5、安装证书 6、安装驱动 三、更新驱动程序

vivado2020.2导入原工程IP

vivado2020.2导入原工程IP 将原工程IP导入新工程中在新工程中添加每个IP的xci文件 将原工程IP导入新工程中 vivado 2022.2的IP在当前工程中.srcs中IP目录中&#xff0c;如下图&#xff1a; 将所需要转移的IP将完整的文件夹复制到新工程同样的目录中。 在新工程中添加每个IP的…

vivado 配置matlab,Matlab vivado

FPGA很多时候是用来做信号处理&#xff0c;而做信号处理都离不开Matlab。如通信中的调制解调、纠错码、各类编解码&#xff0c;这些都离不开Matlab&#xff0c;因为Matlab中simulink有非常丰富的库&#xff0c;方便客户建模和仿真。 以前modelsim 通过simulinx建模后&#xff0…

vivado使用方法

一、新建工程 首先打开vivado2017.4 点击create project 点击next 为新建的工程起名字&#xff0c;路径和名字都不要有中文 起好名字后点击next 起好名字后点击next 选择RTL project&#xff0c;勾选do not specify sources at this time,表示以后再配置资源文件 选…

【vivado UG学习】Synthesis策略学习

目录 1.1 综合方法1.2 使用Sythesis1.2.1 Sythesis设置1.2.2 创建运行策略1.2.3 控制文件编译顺序 1.2 运行Synthesis1.2.1 使用Tcl运行Synthesis1.2.2 RTL synthesis的多线程处理 参考文档 综合是将rtl指定的设计转换为门级表示的过程 1.1 综合方法 Vivado&#xff0c;可以&…

vivado filemgmt 20-2001

这个问题可能和vivado的打开路径有关&#xff0c;最好在工程路径下的shell中打开vivado在选择当前工程&#xff0c; 实测我遇到这个现象就是这个问题&#xff1a; 换到当前工程目录后&#xff1a;vivado在打开的位置都会生成一些log/jou文件等 参考&#xff1a; Xilinx Custo…

vivado 和 modesim 联合仿真快速修改重仿

vivado与modelsim的联合仿真(一)_坚持-CSDN博客_modelsim和vivado 1 编译联合仿真库 tool → compile_simulation_libraries &#xff0c;选择simulator 为 modelsim simulator&#xff0c;填写好 compiled library location(联合库存放地址)&#xff0c;simulator ex…

Vivado设置

1.本文部分素材来源网络&#xff0c;版权归原作者所有&#xff0c;如涉及作品版权问题&#xff0c;请与我联系删除&#xff1b; 2.未经原作者允许不得转载本文内容&#xff0c;否则将视为侵权&#xff1b; 3.转载或者引用本文内容请注明来源及原作者&#xff1b; 4.对于不遵…

vivado常见IP介绍

转自&#xff1a;微信公众号&#xff1a;Lauren的FPGA 目前&#xff0c;越来越多的工程师会用到Vivado IP Integrator&#xff08;IPI&#xff09;。它的强大之处在于通过实例化和互连IP构建复杂的设计。现在的IPI中&#xff0c;不仅可以添加Vivado IP&#xff0c;还可以添加用…

vivado工程打包

一般使用自带archive功能进行归档&#xff0c;但是归档的工程路径较乱&#xff0c;不能将源文件和工程进行明显的分析。一种比较常用的方法就是使用tcl脚本&#xff1a; 现在已经有了生成的语法模板&#xff0c;需要在修改下自己需要的新工程名称&#xff0c;并去掉一些不需要的…

使用vivado封装IP

文章目录 Basics定制IP的参数Enablement Expression封装IP时使用了绝对路径封装IP时设置Address Map Addr相关tcl修正警告Bus Interface clk: ASSOCIATED_BUSIF bus parameter is missing.rst识别成低有效复位Bus Interface up_axi: FREQ_HZ bus parameter missing from AXI in…

vivado使用方法(初级)

文章目录 1 创建新工程1.1 工程创建1.2 新建Verilog文件1.3 仿真 参考 1 创建新工程 1.1 工程创建 1、首先打开Vavido软件&#xff0c;点击Creat Project或者在File——>Project——>New里面进行新工程的创建 2、然后在弹出的界面上点击Next进入下一个界面进行项目的命…

Vivado基础教程

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 前言一、创建项目二、添加设计文件代码 三、综合四、添加约束文件五、上板5.1、生产比特流文件5.2、硬件调试 前言 本文详细的讲述了vivado项目创建到上板的流程。…

vivado基本使用流程(详细版,一步步跟着来一定能成功)

创建工程 1、 2 3、项目名称不能有空格&#xff0c;目录不能含有中文路径 4、 5、 6、 7、 8、 9、 10、 11、 12、 13、 14、 15、 16、 可以查看一下新建的文件 二、设置IP核 1、 2、 3、 4、 5、 6、 7、 可以查看到生成的ip核 8、 找到例化模板&#xff0c;日常…