今天测试过程中要造大量测试数据,就想着把几个集合里面的数据做个笛卡尔积,免得手动输入之苦。历时1小时,中间走了一些弯路。话不多说,上代码。
package demo.topTest.common;
import java.util.LinkedList;
import java.util.List;
import java.util.ListIterator;
/**
* Created by liwenjing on 15/7/24.
*/
public class OriginData {
public String[] address_option={"城市","机场"};
public String[] cabin={"Y","X"};
public String[] city={"北京","上海"};
public String[] airport={"NAY","SHA"};
public String[] arrcity={"纽约","东京"};
private List<String> mixData(List<String[]> oldlist){
List<String> result=new LinkedList<String>();
if(oldlist!=null) {
copyArrayToList(result, oldlist.get(0));
for(int i=1;i<oldlist.size();i++){
ListIterator iterator= (ListIterator) result.iterator();
while(iterator.hasNext()){
String oldString= (String) iterator.next();
iterator.remove();
for(int j=0;j<oldlist.get(i).length;j++){
iterator.add(oldString+oldlist.get(i)[j]);
}
}
}
}
return result;
}
private void copyArrayToList(List list,String[] array){
for(int i=0;i<array.length;i++){
list.add(array[i]);
}
}
public void printList(List list){
for(int i=0;i<list.size();i++){
System.out.println(list.get(i));
}
}
public static void main(String[] args){
OriginData od=new OriginData();
List<String[]> oldlist=new LinkedList<String[]>();
oldlist.add(od.address_option);
oldlist.add(od.cabin);
oldlist.add(od.city);
oldlist.add(od.airport);
oldlist.add(od.arrcity);
od.printList(od.mixData(oldlist));
}
}
结果如图:
现在还是比较粗糙的。接下来要做的是从配置文件中读取数据,拼接好后放到csv或者xls里面,用作测试数据。
- 大小: 26.8 KB
分享到:
相关推荐
案例3 用JDOM解析XML文件 案例4 Java编制的时钟 案例5 简单日历 案例6 系统内存状态监视程序 案例7 简单计算器 案例8 多线程断点续传 案例9 笛卡尔曲线 第四章 Java与游戏 案例1 ...
今天我们要探讨的是Java基础中的数据库操作,特别是SQL查询技术,包括分组查询、HAVING子句、连接查询以及笛卡尔积。这些概念在处理复杂数据时至关重要。 首先,让我们了解分组查询。在SQL中,GROUP BY语句用于将...
笛卡尔乘积算法笛卡尔乘积是指在数学中,两个集合X和Y的笛卡尓积(笛卡尔积),又称直积,表示为X×Y,第一个对象是X的成员而第二个对象是Y的所有可能有序对的其中一个成员。功能基于笛卡尔乘积算法基础上编写的一个...
本面试题集主要涵盖了J2EE中的核心概念、技术和实践问题,旨在帮助求职者准备面试,提升对Java Web开发的理解。 1. **Servlet与JSP**: - Servlet是Java编写服务器端程序的标准,用于处理HTTP请求。了解Servlet...
12. **cartesian()**: 计算两个数据集的笛卡尔积,每个元素与其他所有元素进行配对。 13. **sample()**: 用于随机抽取数据集的一部分,可用于创建数据集的样本或进行抽样分析。 14. **coalesce()**: 减少数据分区...
- **Join Rows (cartesian product)**:此步骤实现多表连接,可以是笛卡尔积连接或其他类型的连接,如INNER JOIN、LEFT JOIN等。 6. 值映射: - **映射输入/映射输出**:用于数据转换,比如将特定值映射为其他值...
- **格网化数据**:等值线绘制的第一步是将原始数据转换为网格形式,通常通过笛卡尔坐标系统将连续数据空间离散化。 - **寻找等值点**:对于每个网格节点,计算其对应的数据值,并确定哪些节点位于特定的等值线上...
在数据库管理系统中,Java SE(Java Standard Edition)提供了丰富的类和接口,如java.sql包,它包含了连接数据库、执行SQL语句、处理结果集等功能。通过JDBC,我们能够连接到数据库,例如MySQL、Oracle或SQL Server...
3. **笛卡尔积运算**:在大数据背景下,pozi支持计算不同数据集的笛卡尔积,这在数据分析和组合不同数据源时非常有用。 4. **C语言用于文件存储**:C语言的低级别特性使其在处理文件系统的I/O操作时效率很高,这...
实例239 结果集与Bean列表 301 实例240 编写MD5查看器 302 实例241 基于Base64编码 304 实例242 基于Base64解码 305 实例243 发送简单的Email 306 实例244 发送带附件的Email 308 实例245 读取XML文件属性 310 第3篇...
5. **JChartDataset.class, JChartDatasetElement.class**: 这两个类可能涉及到数据集和数据集元素的管理,用户可以通过它们来组织和输入数据,以生成相应的图表。 6. **JChartChart_canvas.class**: 这可能表示 ...
2.15 记录关联(笛卡尔输出):基于条件对两个数据集进行笛卡尔积操作。 2.16 Merge Join:合并两个步骤的数据,依据指定的字段进行关联。 2.17 行转列:将多行数据转换为列,通过关键字和分组字段实现。 2.18 ...
15. 最小事件集:基本的事件包括Init(初始化)、Destroy(销毁)和Error(错误)。 16. 文件删除:按住Shift键删除文件会跳过回收站,直接永久删除。 17. 第三代计算机:第三代计算机主要采用集成电路,而非超大...
- R与S的笛卡尔积表示为R×S,其结果集的行数等于两个集合行数的乘积。 ### 14. PPP帧的数据封装 - **知识点**: - 数据链路层协议:PPP帧的格式与封装。 - PPP帧中的转义字符处理。 - **解析**: - PPP帧中...
数据集变换包含了一系列的转换操作,比如连接(join)、笛卡尔积(cross)、规约(reduce)、聚合(aggregate)、共组(cogroup)、映射(map)、扁平映射(flatMap)、过滤(filter)、投影(project)、去重...
当两个表进行笛卡尔积,每个左表的行都会与右表的每一行进行配对,生成的结果集的行数等于两表行数的乘积。这通常是不期望的结果,除非确实需要所有可能的组合。在实际应用中,通常需要避免或通过添加适当的连接条件...