// 把一个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 ;
}
分享到:
相关推荐
在描述中提到的"可以将List控件中的数据导出到文本文档中",这涉及到以下几个关键步骤和技术: 1. **数据获取**:首先,你需要访问List1控件中的数据。这通常通过遍历控件的Items集合来完成,每项数据可能是一个...
我们将覆盖以下几个关键知识点: 1. **List接口**:List是Java集合框架中的一个接口,它继承了Collection接口,规定了元素有序且可以有重复。常见的List实现类有ArrayList、LinkedList等。 2. **ArrayList类**:...
4. **Apache POI API**:Apache POI提供了几个关键类,如`XSSFWorkbook`(用于.xlsx格式)、`HSSFWorkbook`(用于.xls格式)、`Sheet`、`Row`和`Cell`,它们分别代表工作簿、工作表、行和单元格。通过这些类,我们...
在本例中,To Do List 将任务分为了几个不同的类别,分别是: - **Errands**(杂事):指日常生活中需要处理的小事情,如购物、缴费等。 - **Correspondence**(通讯):涉及信件、邮件或其他形式的沟通交流。 - **...
Arrays.asList 方法返回的新 List 和原始数组是共享的,修改其中任何一个都会影响另一个。因此,在使用 Arrays.asList 方法时,需要特别注意,避免出现意外的 Bug。解决方法是将其作为 ArrayList 构造方法的参数重新...
在本主题中,我们将深入探讨“自己做的几个控件的使用”,特别是涉及`ListBox`, `ListControl`, 和 `ComboBox`这三种常用Windows Forms控件的自定义实现。在Visual Studio(VS)环境下,这些控件提供了丰富的交互和...
184、Servlet执行时一般实现哪几个方法? 44 185、getServletContext()和getServletConfig()的意思 44 186、Hashtable和HashMap 44 187、JAVA SERVLET API中forward() 与redirect()的区别? 44 189、Can a Java ...
这些方法包括常见的数学函数,例如取平方根、指数、对数等,以及常用的数学常量如π(圆周率)和e(自然对数的底数)。 - **切断函数**: - `ceil(double a)`:返回大于等于参数的最小整数。 - `floor(double a)`...
下面,我们将详细讨论Hibernate的几个关键概念和常用方法。 1. **配置Hibernate** 在使用Hibernate之前,我们需要配置一个`hibernate.cfg.xml`文件,其中包含数据库连接信息,如URL、用户名、密码、驱动类等。此外...
它适用于当系统中存在大量细粒度的对象时,享元模式可以将这些对象归类为少数几个共享实例。在C#中,享元模式可以通过缓存技术来实现。 3. **工厂模式**:提供一个创建对象的接口,但让子类决定实例化哪一个类。...
通过本篇内容的介绍,我们可以总结出在JavaScript中给每个li节点绑定点击事件的几种常用方法。首先,通过`getElementsByTagName`获取节点集合。其次,使用for循环遍历集合中的每一个节点,并为它们分别绑定事件。第...
在IT领域,网络管理是至关重要的一环,而枚举局域网内主机是网络管理员的常见任务之一。这个过程涉及到查找并识别同一网络中的设备,以便进行设备监控、故障排除或者资源管理。"list_host.rar_枚举局域网"这个压缩包...
Java 提供了丰富的集合框架来处理不同类型的数据结构,主要包括以下几个接口和实现类: - **Collection**:所有集合类的根接口,包含 List 和 Set。 - **Set**:不允许重复元素的集合。 - **List**:有序集合,允许...
- **高并发读写场景**:例如,在分布式系统中,多个客户端需要频繁访问共享资源,使用`ConcurrentHashMap`可以大大提高系统的并发能力。 ### 4. ConcurrentSkipListMap #### 4.1 原理概述 - **跳表数据结构**:`...
5. **集合框架**:Java集合框架提供了各种容器类,如ArrayList、LinkedList、HashSet等,以及接口如List、Set、Map等。自定义类可以实现这些接口,提供定制化的数据存储和操作功能。 6. **线程安全**:在多线程环境...
将 json 转换为 map 的方法广泛应用于以下几个场景: * Web 开发:在 web 开发中,json 是一种常用的数据交换格式,将 json 转换为 map 可以方便地操作和存储数据。 * 移动应用开发:在移动应用开发中,json 是一种...
为了使主进程与子进程之间能够共享全局变量,Python提供了几种方法,包括使用`multiprocessing`模块中的`Value`、`Array`以及`Manager`类等。 ##### 4.1 使用 `multiprocessing.Value` 对于基本类型如浮点数,可以...
Java中的异常处理机制主要包括以下几个方面: - **捕获异常**:使用try-catch-finally结构捕获并处理异常。 - **抛出异常**:使用throw语句抛出异常。 - **自定义异常**:可以通过继承Exception或其子类来创建...
在本篇文章中,我们将重点探讨使用Java语言实现生产者与消费者问题的几种方法。 #### 二、生产者与消费者问题描述 在一个典型的生产者与消费者模型中,存在两个角色:生产者和消费者。生产者负责生成数据并将这些...
- `overload`:启用端口复用,允许多个私有IP地址共享一个或少数几个公共IP地址。 ##### 3.2 示例 ```bash Ruijie(config)# ip nat inside source list 100 pool nat_pool overload Ruijie(config)# access-list ...