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

共享关于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  
说实话没看明白是做什么的 求教

相关推荐

    List1控件数据导出

    在描述中提到的"可以将List控件中的数据导出到文本文档中",这涉及到以下几个关键步骤和技术: 1. **数据获取**:首先,你需要访问List1控件中的数据。这通常通过遍历控件的Items集合来完成,每项数据可能是一个...

    Java 实例 - List 截取源代码+详细指导教程.zip

    我们将覆盖以下几个关键知识点: 1. **List接口**:List是Java集合框架中的一个接口,它继承了Collection接口,规定了元素有序且可以有重复。常见的List实现类有ArrayList、LinkedList等。 2. **ArrayList类**:...

    Java list转excel.zip

    4. **Apache POI API**:Apache POI提供了几个关键类,如`XSSFWorkbook`(用于.xlsx格式)、`HSSFWorkbook`(用于.xls格式)、`Sheet`、`Row`和`Cell`,它们分别代表工作簿、工作表、行和单元格。通过这些类,我们...

    to do list

    在本例中,To Do List 将任务分为了几个不同的类别,分别是: - **Errands**(杂事):指日常生活中需要处理的小事情,如购物、缴费等。 - **Correspondence**(通讯):涉及信件、邮件或其他形式的沟通交流。 - **...

    详解Java 集合类 List 的那些坑

    Arrays.asList 方法返回的新 List 和原始数组是共享的,修改其中任何一个都会影响另一个。因此,在使用 Arrays.asList 方法时,需要特别注意,避免出现意外的 Bug。解决方法是将其作为 ArrayList 构造方法的参数重新...

    自己做的几个控件的使用

    在本主题中,我们将深入探讨“自己做的几个控件的使用”,特别是涉及`ListBox`, `ListControl`, 和 `ComboBox`这三种常用Windows Forms控件的自定义实现。在Visual Studio(VS)环境下,这些控件提供了丰富的交互和...

    java面试宝典

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

    Java常用类及集合操作

    这些方法包括常见的数学函数,例如取平方根、指数、对数等,以及常用的数学常量如π(圆周率)和e(自然对数的底数)。 - **切断函数**: - `ceil(double a)`:返回大于等于参数的最小整数。 - `floor(double a)`...

    Hibernate实例代码,含常用方法

    下面,我们将详细讨论Hibernate的几个关键概念和常用方法。 1. **配置Hibernate** 在使用Hibernate之前,我们需要配置一个`hibernate.cfg.xml`文件,其中包含数据库连接信息,如URL、用户名、密码、驱动类等。此外...

    多种设计模式(单例,享元,工厂,策略,模板)和多种数据结构(array,List,dictionary,queue)混合使用的数据结构期末项目.

    它适用于当系统中存在大量细粒度的对象时,享元模式可以将这些对象归类为少数几个共享实例。在C#中,享元模式可以通过缓存技术来实现。 3. **工厂模式**:提供一个创建对象的接口,但让子类决定实例化哪一个类。...

    JavaScript给每一个li节点绑定点击事件的实现方法

    通过本篇内容的介绍,我们可以总结出在JavaScript中给每个li节点绑定点击事件的几种常用方法。首先,通过`getElementsByTagName`获取节点集合。其次,使用for循环遍历集合中的每一个节点,并为它们分别绑定事件。第...

    list_host.rar_枚举局域网

    在IT领域,网络管理是至关重要的一环,而枚举局域网内主机是网络管理员的常见任务之一。这个过程涉及到查找并识别同一网络中的设备,以便进行设备监控、故障排除或者资源管理。"list_host.rar_枚举局域网"这个压缩包...

    JAVA常见面试题300道

    Java 提供了丰富的集合框架来处理不同类型的数据结构,主要包括以下几个接口和实现类: - **Collection**:所有集合类的根接口,包含 List 和 Set。 - **Set**:不允许重复元素的集合。 - **List**:有序集合,允许...

    9、并发容器(Map、List、Set)实战及其原理.pdf

    - **高并发读写场景**:例如,在分布式系统中,多个客户端需要频繁访问共享资源,使用`ConcurrentHashMap`可以大大提高系统的并发能力。 ### 4. ConcurrentSkipListMap #### 4.1 原理概述 - **跳表数据结构**:`...

    有用的几个自定义java类

    5. **集合框架**:Java集合框架提供了各种容器类,如ArrayList、LinkedList、HashSet等,以及接口如List、Set、Map等。自定义类可以实现这些接口,提供定制化的数据存储和操作功能。 6. **线程安全**:在多线程环境...

    json 转为map 适合java

    将 json 转换为 map 的方法广泛应用于以下几个场景: * Web 开发:在 web 开发中,json 是一种常用的数据交换格式,将 json 转换为 map 可以方便地操作和存储数据。 * 移动应用开发:在移动应用开发中,json 是一种...

    python多进程 主进程和子进程间共享和不共享全局变量实例

    为了使主进程与子进程之间能够共享全局变量,Python提供了几种方法,包括使用`multiprocessing`模块中的`Value`、`Array`以及`Manager`类等。 ##### 4.1 使用 `multiprocessing.Value` 对于基本类型如浮点数,可以...

    java常见概念题

    Java中的异常处理机制主要包括以下几个方面: - **捕获异常**:使用try-catch-finally结构捕获并处理异常。 - **抛出异常**:使用throw语句抛出异常。 - **自定义异常**:可以通过继承Exception或其子类来创建...

    生产者与消费者问题.docx

    在本篇文章中,我们将重点探讨使用Java语言实现生产者与消费者问题的几种方法。 #### 二、生产者与消费者问题描述 在一个典型的生产者与消费者模型中,存在两个角色:生产者和消费者。生产者负责生成数据并将这些...

    CISCO_IP_nat_常用命令及原理详解

    - `overload`:启用端口复用,允许多个私有IP地址共享一个或少数几个公共IP地址。 ##### 3.2 示例 ```bash Ruijie(config)# ip nat inside source list 100 pool nat_pool overload Ruijie(config)# access-list ...

Global site tag (gtag.js) - Google Analytics