import java.util.ArrayList;
import java.util.Collection;
import java.util.List;
import java.util.Map;
 
/**
* 集合辅助类
* @author Alan
* @date 2013-10-28 上午9:28:24
* @version $Id: CollectionUtil.java,v 1.3 2014/02/17 03:04:30 fuxinjun Exp $
*/
public class CollectionUtil {
/**
* 集合是否为空
*/
@SuppressWarnings("unchecked")
public static boolean isEmpty(Collection c){
if(c == null || c.size() == 0){
return true;
}else{
return false;
}
}
 
/**
* MAP是否为空
* @param c
* @return
*/
public static boolean isEmpty(Map<?,?> c){
if(c == null || c.isEmpty()){
return true;
}else{
return false;
}
}
 
/**
* 引用数组类型是否为空
* @param c
* @return
*/
public static boolean isEmpty(Object[] c){
if(c == null || c.length == 0){
return true;
}else{
return false;
}
}
 
/**
* 分割List
* @author Alan
* @param list 待分割的list
* @param pageSize 每段list的大小
* @return List<<List<T>>
*/
public static <T> List<List<T>> splitList(List<T> list, int pageSize) {
 
int listSize = list.size(); //list的大小
int page = (listSize + (pageSize-1)) / pageSize; //页数
 
List<List<T>> listArray = new ArrayList<List<T>>(); //创建list数组 ,用来保存分割后的list
for(int i=0;i<page;i++) { //按照数组大小遍历
List<T> subList = new ArrayList<T>(); //数组每一位放入一个分割后的list
for(int j=0;j<listSize;j++) { //遍历待分割的list
int pageIndex = ( (j + 1) + (pageSize-1) ) / pageSize; //当前记录的页码(第几页)
if(pageIndex == (i + 1)) { //当前记录的页码等于要放入的页码时
subList.add(list.get(j)); //放入list中的元素到分割后的list(subList)
}
 
if( (j + 1) == ((j + 1) * pageSize) ) { //当放满一页时退出当前循环
break;
}
}
listArray.add(subList); //将分割后的list放入对应的数组的位中
}
return listArray;
}
}
 

Java集合工具类的更多相关文章

  1. Java:集合工具类-Collections

    Java.util.Collections 集合框架工具类Collections,其方法都是静态的,本身没有构造函数. 常见方法: static <T extends Comparable< ...

  2. Java—集合工具类

    集合中的元素工具类排序: Java提供了一个操作Set.List和Map等集合的工具类:Collections,该工具类提供了大量方法对集合进行排序.查询和修改等操作,还提供了将集合对象置为不可变.对 ...

  3. Java集合工具类使用的一些坑,Arrays.asList()、Collection.toArray()、foreach

    Arrays.asList() 使用指南 最近使用Arrays.asList()遇到了一些坑,然后在网上看到这篇文章:Java Array to List Examples 感觉挺不错的,但是还不是特 ...

  4. Java 集合工具类---------- Collections类

  5. 集合工具类 - CollectionUtil.java

    集合工具类,提供数组转LIST.数组转SET.合并集合.计算笛卡儿积等方法. 源码如下:(点击下载 -  CollectionUtil.java.ArrayUtil.java.commons-lang ...

  6. java之集合工具类Collections

    Collections类简介 java.utils.Collections 是集合工具类,用来对集合进行操作.此类完全由在 collection 上进行操作或返回 collection 的静态方法组成 ...

  7. [Google Guava] 2.3-强大的集合工具类:java.util.Collections中未包含的集合工具

    原文链接 译文链接 译者:沈义扬,校对:丁一 尚未完成: Queues, Tables工具类 任何对JDK集合框架有经验的程序员都熟悉和喜欢java.util.Collections包含的工具方法.G ...

  8. java第十九天,Collections集合工具类的使用

    Collections Java中集合都实现了Collection接口,那么针对集合一些特定的功能,有没有一个接口或类能够统一的集成一些集合必要的功能呢?当然能.它就是--Collections集合工 ...

  9. Java开发工具类集合

    Java开发工具类集合 01.MD5加密工具类 import java.security.MessageDigest; import java.security.NoSuchAlgorithmExce ...

随机推荐

  1. vue过渡效果

    vue过渡效果. <transition name='slide-fade'> <div class="top" @click='gotoTop' v-if='s ...

  2. PHP设置时区

    <?php//设置默认的时区date_default_timezone_set('Asia/Shanghai');//输出1396193923对应的日期echo date("Y-m-d ...

  3. HDU 5695 ——Gym Class——————【贪心思想,拓扑排序】

    Gym Class Time Limit: 6000/1000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others)Total S ...

  4. A space or line break was encountered after the "@" character. Only valid identifiers, keywords, comments, "(" and "{" are valid at the start of a code block and they must occur immediately following

    mvc 控制器调用分布视图出错,("A space or line break was encountered after the "@" character. Only ...

  5. 07.重写ToSting()方法

    namespace _08.重写ToString方法 { class Program { static void Main(string[] args) { Person p = new Person ...

  6. getElementsByName属性

    getElementsByName() 方法可返回带有指定名称的对象的集合 语法 document.getElementsByName(name) 该方法与 getElementById() 方法相似 ...

  7. oracle中,改变表名和字段名的大小写

    1.将表名和字段名改为大写  见--http://www.cnblogs.com/wenboge/articles/4121331.html 2.将表名和字段名改为小写 ①改表名为小写 begin f ...

  8. CakePHP redirect函数

    public function getContract($value=''){ App::uses ( 'UserContractController', 'Controller' ); $Contr ...

  9. vuex的初始化

    创建store文件夹 1.功能:放异步操作 文件:actions.js 内容: 2.功能:获取state里数据 文件:getters.js 内容: export const singer = stat ...

  10. ionic2生命周期

    生命周期: ionViewDidLoad(){ console.log("1.0 ionViewDidLoad 当页面加载的时候触发,仅在页面创建的时候触发一次,如果被缓存了,那么下次再打开 ...