`
wangyonghe
  • 浏览: 42012 次
社区版块
存档分类
最新评论

共享关于List的几个常用方法

 
阅读更多

// 把一个List平均分成二个List
 public static List[] splitList(List list) {
  ArrayList left = new ArrayList();
  ArrayList right = new ArrayList();
  ArrayList[] result = new ArrayList[2];
  if (null == list || list.size() == 0)
   return result;
  for (int i = 0; i < list.size(); i++) {
   if (i % 2 == 0) {
    left.add(list.get(i));
   }
   else {
    right.add(list.get(i));
   }
  }
  result[0] = left;
  result[1] = right;
  return result;
 }



 // 把一个List按照size的大小分组;
 public static List splitListByParameter(List list, int size) {
  if (null == list || list.size() == 0 || size == 0)
   return null;
  int arraySize = 0;
  if (list.size() % size == 0)
   arraySize = list.size() / size;
  else
   arraySize = list.size() / size + 1;

  List result = new ArrayList(arraySize);
  int temp = 0;
  while (temp < arraySize) {
   try {
    if (temp == arraySize - 1)
     result.add(list.subList(temp * size, list.size()));
    else
     result.add(list.subList(temp * size, temp * size + size));
   }
   catch (RuntimeException e) {
    e.printStackTrace();
   }
   temp++;
  }
  return result;
 }




/**
  * 从一个LIST中随机获取size条记录,返回值LIST;
  * 
  */
 public static List getRandomRecords(List list , int size) {
  if(list==null||list.size()<=size) return list ;
  List result = new ArrayList();
  Random random = new Random();
  while(result.size()<size){
  Object obj = list.get(random.nextInt(list.size()));
  if(!result.contains(obj)){
  result.add(obj);
  }
  }
  return result ;
 } 

分享到:
评论
1 楼 whaosoft 2010-05-07  
说实话没看明白是做什么的 求教

相关推荐

    java面试宝典

    184、Servlet执行时一般实现哪几个方法? 44 185、getServletContext()和getServletConfig()的意思 44 186、Hashtable和HashMap 44 187、JAVA SERVLET API中forward() 与redirect()的区别? 44 189、Can a Java ...

    超级有影响力霸气的Java面试题大全文档

    创建了几个String Object? 两个 31、EJB包括(SessionBean,EntityBean)说出他们的生命周期,及如何管理事务的?  SessionBean: Stateless Session Bean 的生命周期是由容器决定的,当客户机发出请求要建立一个...

    入门学习Linux常用必会60个命令实例详解doc/txt

    建议在/mnt里建几个/mnt/cdrom、/mnt/floppy、/mnt/mo等目录,当作目录的专用挂载点。举例而言,如要挂载下列5个设备,其执行指令可能如下 (假设都是Linux的ext2系统,如果是Windows XX请将ext2改成vfat): 软盘 ==...

    java 面试题 总结

    创建了几个String Object? 两个 28、设计4个线程,其中两个线程每次对j增加1,另外两个线程对j每次减少1。写出程序。 以下程序使用内部类实现线程,对j增减的时候没有考虑顺序问题。 public class ThreadTest1{ ...

    千方百计笔试题大全

    184、Servlet执行时一般实现哪几个方法? 44 185、getServletContext()和getServletConfig()的意思 44 186、Hashtable和HashMap 44 187、JAVA SERVLET API中forward() 与redirect()的区别? 44 189、Can a Java ...

    net学习笔记及其他代码应用

    创建了几个String Object? 答:两个对象,一个是“xyx”,一个是指向“xyx”的引用对象s。 38.abstract class和interface有什么区别? 答: 声明方法的存在而不去实现它的类被叫做抽象类(abstract class),它用于...

    java面试题

    Spring由那几个模块组成? 答:Spring主要由7个模块组成: 1:Spring核心容器:提供了Spring框架的基本功能 2:Spring AOP:通过配置管理特性 3:Spring ORM:Spring框架集成了若干ORM框架 4:Spring DAO:打开...

    JAVA面试题最全集

    5.j2me程序的必需的几个部分 6.c/s与b/s的区别 7.构建一个connect pool,然后再调用它, 8.j2ee平台与dotnet平台的区别 9.ejb的life cycle 10.session bean 和 entity bean的区别 11.ejb中的transaction机制 ...

    Java 语言基础 —— 非常符合中国人习惯的Java基础教程手册

    画圆,画椭圆还是画矩形的方法,它们都有一个相同的方法名,但以不同的方式完成他们的 画圆的功能。 1.8 类和对象 1.8.1 类 类是组成 Java 程序的基本要素。它封装了一类对象的状态和方法,是这一类对象的 原型...

    freemarker总结

    表达式中支持的比较运算符有如下几个: 1. =或者==:判断两个值是否相等. 2. !=:判断两个值是否不等. 3. &gt;或者gt:判断左边值是否大于右边值 4. &gt;=或者gte:判断左边值是否大于等于右边值 5. &lt;或者lt:判断左边值...

    Java开发技术大全 电子版

    11.1.4几个常用术语332 11.2集合类的使用333 11.2.1顺序表(ArrayList)使用示例333 11.2.2链表(LinkedList)使用示例336 11.2.3优先队列(PriorityQueue)使用示例340 11.2.4哈希集合(HashSet)使用示例343 ...

    好用的2个图标生成工具VisulToolBar1.5(破解无毒版) 和 国产TBCreator

    有时候,您要花几个小时的时间,来生成真彩色工具条的位图资源!现在好了,工具栏生成器(Toolbar Creator)可以自动读入小位图文件(支持16×16,24×24,32×32,48×48以及任意自定义的尺寸),自动合并所有小的位图,...

    java初学者必看

    8.5 关于设计好继承的几点建议 8.6 实例:一卡通类的继承 8.6.1 构造方法 8.6.2 setter方法 8.6.3 getter方法 8.6.4 方法覆盖 8.6.5 equals方法 8.6.6 其他需要强调的地方 8.7 本章习题 第9章 多态与抽象类...

    asp.net知识库

    与正则表达式相关的几个小工具 你真的了解.NET中的String吗? .NET中的方法及其调用(一) 如何判断ArrayList,Hashtable,SortedList 这类对象是否相等 帮助解决网页和JS文件中的中文编码问题的小工具 慎用const...

    新版Android开发教程.rar

    开放手机联盟包括手机制造商、手机芯片厂商和移动运营商几类。目前,联盟成员 数 量已经达到了 43 家。 移动手机联盟创始成员: Aplix 、 Ascender 、 Audience 、 Broadcom 、中国移动、 eBay 、 Esmertec 、谷歌、...

    Linux操作系统基础教程

    Linux 操作系统基础教程 清华大学信息学院计算机系 ...从网上下载的,但是我不推荐易用这种方法得到 Linux,因为仅仅核心就有几十个 Mbit 的 数据量,而一个完整的发行版本大概都是 1Gbit 左右的数据量...

    adb1.0.26包含fastboot.exe

    遇到多设备/模拟器的情况均使用这几个参数为命令指定目标设备,下文中为简化描述,不再重复。 启动/停止 启动 adb server 命令: adb start-server (一般无需手动执行此命令,在运行 adb 命令时若发现 adb server...

    网络组建域管理课件2

    Windows 2000 Server的安装有以下几种方法: 方法一:在运行MS-DOS的计算机上安装 (1) 在CD-ROM中插入Windows 2000 Server安装盘。 (2) 将CD-ROM设置为当前驱动器,然后键入命令cd i386并回车。 (3) 键入winnt并...

Global site tag (gtag.js) - Google Analytics