首页
关于
Search
1
笔记测试
265 阅读
2
PostgreSql使用Truncate清空数据表
231 阅读
3
GO语言及gin框架中踩坑总结
224 阅读
4
HashMap和Hashtable之间的区别
205 阅读
5
Docker——具名挂载和匿名挂载
200 阅读
默认分类
Java
Vue
SQL
Linux
Python
Golang
Search
Miku
累计撰写
14
篇文章
累计收到
0
条评论
首页
栏目
默认分类
Java
Vue
SQL
Linux
Python
Golang
页面
关于
搜索到
3
篇与
Java
的结果
2021-07-06
HashMap和Hashtable之间的区别
HashMap 和 Hashtable 有什么区别?HashMap 和 Hashtable 都是用于存储键和值的对应关系,都是map的实现类,都是使用哈希表的方式存储。1.线程安全性不同Hashtable是线程安全的,它的每个方法中都加入了Synchronize方法。在多线程并发的环境下,可以直接使用Hashtable,不需要自己为它的方法实现同步HashMap不是线程安全的,在多线程并发的环境下,可能会产生死锁等问题虽然HashMap不是线程安全的,但是它的效率会比Hashtable要好很多。在我们的日常使用当中,大部分时间是单线程操作的2.继承的父类不同HashTable是继承自Dictionary类,而HashMap是继承自AbstractMap类。不过它们都实现了同时实现了map、Cloneable(可复制)、Serializable(可序列化)这三个接口3.是否可以储存nullHashTable不允许储存null值(key和value都不可以),HashMap允许使用null值(key和value)都可以4.遍历方法不同HashTable使用Enumeration遍历,HashMap使用Iterator进行遍历5.初始化和扩容方式不同Hashtable默认的初始大小为11,之后每次扩充,容量变为原来的2n+1。HashMap默认的初始化大小为16。之后每次扩充,容量变为原来的2倍创建时,如果给定了容量初始值,那么Hashtable会直接使用你给定的大小,而HashMap会将其扩充为2的幂次方大小。也就是说Hashtable会尽量使用素数、奇数。而HashMap则总是使用2的幂作为哈希表的大小————————————————版权声明:本文为CSDN博主「暴走的山交」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。原文链接:https://blog.csdn.net/qq_43649223/article/details/107444805
2021年07月06日
205 阅读
0 评论
0 点赞
2021-04-25
Java中Collections工具类的使用
Collections工具类新建List集合public class test { public static void main(String[] args) { ArrayList<Integer> list = new ArrayList<>(); list.add(20); list.add(5); list.add(12); list.add(30); list.add(6); } }sort排序System.out.println("排序前:"+list); Collections.sort(list); System.out.println("排序后:"+list);binarySearch二分查找int i = Collections.binarySearch(list, 12); System.out.println(i);copy复制ArrayList<Integer> dest = new ArrayList<>(); for (int j = 0; j<list.size();j++) { dest.add(0); } Collections.copy(dest, list); System.out.println("复制后:"+dest);reverse反转Collections.reverse(list); System.out.println("反转后"+list);shuffle打乱Collections.shuffle(list); System.out.println("打乱后"+list);补充: list转成数组Integer[] array = list.toArray(new Integer[0]); System.out.println(array.length); System.out.println(Arrays.toString(array));补充: 数组转成集合<br/>数组转为集合时集合是一个受限集合,不能添加或删除元素String[] names = {"张三","李四","王五"}; List<String> nameList = Arrays.asList(names); System.out.println(nameList);把基本类型数组转成集合时,需要修改为包装类型Integer[] nums = {100,200,300,400,500}; List<Integer> ints = Arrays.asList(nums); System.out.println(ints);
2021年04月25日
112 阅读
0 评论
0 点赞
2021-04-13
Java重写equals与hashCode方法
常见Java重写equals与hashCode方法@Override public boolean equals(Object o) { //判断是不是同一个对象 if (this == o) { return true; } //判断是否为空 if (o == null || getClass() != o.getClass()) { return false; } //判断是否为Student类型并比较属性 Student student = (Student) o; return age == student.age && Objects.equals(name, student.name); }
2021年04月13日
129 阅读
0 评论
0 点赞