说明

用素数作为<mark>散列表的容量</mark>,有助于减少hash冲突的概率。
而且<mark>扩容</mark>需要用到素数。
因此,讨论素数的生成、判断

判断素数 isPrime()

https://blog.csdn.net/LawssssCat/article/details/102921354

/** 方法1 */
public boolean isPrime(long n) {
		if(n<2) { //排除负数
			return false ; 
		}else if(n>2) {
			long len = (long) Math.sqrt(n);
			for(long i=2 ; i<=len ; i++) {
				if(n%i==0) {
					return false;
				}
			}
		}
		return true;  
	}

/** * 方法2 : 位运算,快一点点 */
	public boolean isPrime(long n) {
		if(n<2) {
			return false; 
		}else if(n>2) {
			if(((n^0)&1) == 0) {  //偶数
				return false; 
			}
			long len = (long) Math.sqrt(n);
			for (int i = 3; i < len; i++) {
				if(n%i==0 ) {
					return false; 
				}
			}
		}
		return true; 
	}

生成素数 nextPrime()

在网上实在找不到更好的方法。(有一个,看不懂)

以后看到在贴上来吧。。

public long nextPrime(long n) {
		if(n<2) {
			return 2 ; 
		}
		while(!isPrime(++n)) {
		}
		return n ; 
	}