Java基础
yangrui0070
dododo
展开
-
map的4中遍历方式
用了map那么久,最常用的当然是最直接的put和get方法,今天总结一下map的便利。map的便利有4种,我们依次来看。第一种 这是最常见的用法,这种用法可以同时拿到key和value值。 缺点:如果map是空,将会出现空指针异常,那么每次在对map遍历以前,就要先进行判空public static void forEachMap(Map<String,String> map) {原创 2017-02-07 16:47:16 · 438 阅读 · 0 评论 -
布隆过滤器和hashmap
我在这里只是为了怕遗忘做一些简单的记录布隆表,又被称为布隆过滤器。应用场景,当数据量过于大时,如果要去判断一条数据在那些数据中是否存在时,是很慢的。这时候,如果要使用最常见的equal方法。相率是很低下的。 这时候才会用上布隆表布隆表是基于hash的。因为其基于hash,所以就一定不是完全准确的。 布隆表是这么进行运作的,先申请内存,然后将记录的数组中的值都归0。将数据的一个key值(可以是字段原创 2017-02-07 17:22:26 · 1588 阅读 · 0 评论 -
饿汉模式和懒汉模式
JAVA单例模式的几种实现方法 1.饿汉式单例类package pattern.singleton;//饿汉式单例类.在类初始化时,已经自行实例化 public class Singleton1 { //私有的默认构造子 private Singleton1() {} //已经自行实例化 private static final Singleton1 sin原创 2017-02-07 20:09:50 · 9658 阅读 · 4 评论 -
为什么hashcode()和equals()方法要一起重写
其实经常会遇到这种情况。当一个对象的属性相同的时候,我们想把他们当成是相同。那么这时候,就可以通过重写equals方法来实现了。可是又有这样的一种情况,往往大家在重写equals方法的时候,总会让大家一起hashcode方法,这是为什么呢?其实是这样的,不是什么时候都要去重写hashcode方法的。hashcode,顾名思义,就是指的是这个对象的hash值。除了String以外,大多数的对象比较的时原创 2017-03-05 22:10:02 · 493 阅读 · 0 评论 -
Comparable和Comparator的区别
Comparable和Comparator的区别可以理解为,一个是内部比较,一个是外部比较。一个是在对象自身内实现的方法,一个是在第三方对象上实现的该方法。 存在“实现Comparable接口的类的对象的List列表(或数组)”,则该List列表(或数组)可以通过 Collections.sort(或 Arrays.sort)进行排序。可以看到,在比较的时候,comparable就会去使用this原创 2017-03-05 23:58:14 · 267 阅读 · 0 评论 -
HashMap与ConcurrentHashMap的区别以及hashMap的问题
先说说它俩的区别吧 大家都是知道的,hashMap是不安全的,hashTable是安全的。 后来有了ConcurrentHashMap这个东西来保证hashMap的安全。其实其原理是,分桶的hashTable而已,是分成多个区域。 根据hash值,算出其属于哪部分的hash。然后再放入,并且加锁。hashMap会出现什么问题呢? 有一个很特别的问题,死循环。 当多线程并发的时候,在hash原创 2017-03-06 00:45:56 · 331 阅读 · 0 评论