今天测试过程中要造大量测试数据,就想着把几个集合里面的数据做个笛卡尔积,免得手动输入之苦。历时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
分享到:
相关推荐
假设(x, y) 表示笛卡尔坐标系中的一个点。设计类Point,该类包含2个成员变量int x和int y;并设计实例方法返回该点到原点的距离。
网上所能找到的最全笛卡尔内容。用了很长时间。辛苦。
主要介绍了Java笛卡尔积算法原理与实现方法,结合实例形式较为详细的分析了笛卡尔积算法的原理及java定义与使用笛卡尔积算法的相关操作技巧,需要的朋友可以参考下
笛卡尔心形
java写的笛卡尔心形图,里边用了笛卡尔算法,代码不多..
这个是离散数学笛卡尔积,是数据库的笛卡尔积的原理. PPT
主要介绍了Java基于递归和循环两种方式实现未知维度集合的笛卡尔积算法,结合实例形式分析了Java使用递归与循环两种方式实现未知维度集合的笛卡尔积相关概念、原理与操作技巧,需要的朋友可以参考下
编写一个Java程序,用于输出Fibonacci数列的前20项,编写程序计算三门课的平均成绩,要求应用程序分别用Java语言三种不同的循环语句实现,坐标系上两点间距离的功能、获取和设置坐标的功能、获取极坐标的功能
笛卡尔网格是CFD计算中最早使用,也是最易生成的一种网格,它不同于传统的贴体网格,笛卡尔网格中的单元基本按照笛卡尔坐标方向(X,Y,Z)排列,流场可以采用有限体积法进行模拟计算,在与模型表面相交的单元处需要...
编写笛卡尔公式 实现美妙曲线的Java代码
案例3 用JDOM解析XML文件 案例4 Java编制的时钟 案例5 简单日历 案例6 系统内存状态监视程序 案例7 简单计算器 案例8 多线程断点续传 案例9 笛卡尔曲线 第四章 Java与游戏 案例1 ...
关于笛卡尔的方法论,谈哲学,谈人生,谈方法。欢迎下载。
笛卡尔乘积查询.rar笛卡尔乘积查询.rar笛卡尔乘积查询.rar
请输入笛卡尔积的个数:4 请输入第1个笛卡尔积的元素,中间用;分隔开 1;2;3 请输入第2个笛卡尔积的元素,中间用;分隔开 a;b 请输入第3个笛卡尔积的元素,中间用;分隔开 A;B;C;D 请输入第4个笛卡尔积的元素,中间用;...
Python画笛卡尔心形曲线 Python画笛卡尔心形曲线 Python画笛卡尔心形曲线 Python画笛卡尔心形曲线 Python画笛卡尔心形曲线 Python画笛卡尔心形曲线 Python画笛卡尔心形曲线 Python画笛卡尔心形曲线 Python画笛卡尔...
html + js +vue实现商品sku 笛卡尔积
笛卡尔坐标转极坐标的简单易懂的代码
我的项目旨在表明,尽管从一开始就进行了无休止的批评,但笛卡尔在减轻系统性怀疑或有时被称为形而上学的怀疑的尝试中并没有合理的过失。 所谓“不能合理地过错”,是指笛卡尔并不公开批评他是因为做出了自己时代...
机械臂轨迹规划之笛卡尔空间直线规划matlab仿真程序 在机械臂作业过程中,我们常希望末端执行器在空间中距离较远的两点间作直线运动,而对应的轨迹规划方法称为直线规划。 首先考虑对位置的插补。当起始点与目标点的...
php 笛卡尔积二维数组矩阵算法 生成多个组合 php 笛卡尔积二维数组矩阵算法 生成多个组合 php 笛卡尔积二维数组矩阵算法 生成多个组合 php 笛卡尔积二维数组矩阵算法 生成多个组合 php 笛卡尔积二维数组矩阵...