All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.weicoder.common.lang.Sets Maven / Gradle / Ivy

There is a newer version: 3.6.2
Show newest version
package com.weicoder.common.lang;

import java.util.Collection;
import java.util.Collections;
import java.util.HashSet;
import java.util.Set;
import java.util.TreeSet;

/**
 * Set的帮助类,获得Set的一些操作
 * 
 * @author WD
 */
public sealed class Sets permits W.S {
	/**
	 * 判断是否Set
	 * 
	 * @param obj 对象
	 * @return 是否Set
	 */
	public static boolean is(Object obj) {
		return obj != null && obj instanceof Set;
	}

	/**
	 * 获得Set实例 实现类是HashSet 默认初始化大小为10
	 * 
	 * @param  泛型
	 * @return Set
	 */
	public static  HashSet set() {
		return hash();
	}

	/**
	 * 获得Set实例 实现类是HashSet
	 * 
	 * @param size 初始化大小
	 * @param   泛型
	 * @return Set
	 */
	public static  HashSet set(int size) {
		return hash(size);
	}

	/**
	 * 获得Set实例 实现类是HashSet
	 * 
	 * @param 
	 * @param es  初始化数组
	 * @return Set
	 */
	public static  Set set(E[] es) {
		return set(W.L.list(es));
	}

	/**
	 * 获得Set实例 实现类是HashSet
	 * 
	 * @param c   初始化的集合
	 * @param  泛型
	 * @return Set
	 */
	public static  Set set(Collection c) {
		return hash(c);
	}

	/**
	 * 获得TreeSet实例
	 * 
	 * @param  泛型
	 * @return TreeSet
	 */
	public static  TreeSet tree() {
		return new TreeSet<>();
	}

	/**
	 * 获得HashSet实例
	 * 
	 * @param   泛型
	 * @param size 容量
	 * @return HashSet
	 */
	public static  HashSet hash() {
		return new HashSet<>();
	}

	/**
	 * 获得HashSet实例
	 * 
	 * @param   泛型
	 * @param size 容量
	 * @return HashSet
	 */
	public static  HashSet hash(int size) {
		return new HashSet<>(size);
	}

	/**
	 * 获得HashSet实例
	 * 
	 * @param  泛型
	 * @param c   集合
	 * @return HashSet
	 */
	public static  HashSet hash(Collection c) {
		return c == null ? new HashSet<>() : new HashSet<>(c);
	}

	/**
	 * 获得一个不可变的空Set
	 * 
	 * @param  泛型
	 * @return 一个不可变的空Set
	 */
	public static  Set empty() {
		return Collections.emptySet();
	}

	/**
	 * 获得列表数量
	 * 
	 * @param set 数据列表
	 * @return 数量
	 */
	public static int size(Set set) {
		return set == null ? 0 : set.size();
	}
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy