文档章节

获取多个集合列表的笛卡尔积

BakerZhu
 BakerZhu
发布于 08/21 20:07
字数 249
阅读 59
收藏 0

获取多个集合笛卡尔积

电商中典型业务场景:商品搜索

  • 单属性属性值之间为并查询
  • 不同属性的属性值之间查询为与查询
import java.util.ArrayList;
import java.util.List;

/**
 * Created with IntelliJ IDEA.
 *
 * @author: bakerZhu
 * @description: 获取集合笛卡尔积
 * @time: 2018年08月20日
 * @modifytime:
 */
public class Descartes {
	public  static void descartes(List<List<Long>> dimvalue, List<List<Long>> result, int layer, List<Long> curList) {
		if (layer < dimvalue.size() - 1) {
			if (dimvalue.get(layer).size() == 0) {
				descartes(dimvalue, result, layer + 1, curList);
			} else {
				for (int i = 0; i < dimvalue.get(layer).size(); i++) {
					List<Long> list = new ArrayList<Long>(curList);
					list.add(dimvalue.get(layer).get(i));
					descartes(dimvalue, result, layer + 1, list);
				}
			}
		} else if (layer == dimvalue.size() - 1) {
			if (dimvalue.get(layer).size() == 0) {
				result.add(curList);
			} else {
				for (int i = 0; i < dimvalue.get(layer).size(); i++) {
					List<Long> list = new ArrayList<Long>(curList);
					list.add(dimvalue.get(layer).get(i));
					result.add(list);
				}
			}
		}
	}
}

© 著作权归作者所有

共有 人打赏支持
BakerZhu
粉丝 98
博文 516
码字总数 417070
作品 0
通州
程序员
私信 提问
【理论】离散数学中的二元关系

这篇文章将了解到以下方面的知识 01 二元关系的定义 02 笛卡尔积定义 03 二元关系的表示方式 0301 二元关系是笛卡尔积的子集 0302 等价关系与集合上的划分一一对应 二元关系定义 由两个元素x...

needrunning
2017/12/14
0
0
T-SQL基础(二)之关联查询

在上篇博文中介绍了T-SQL查询的基础知识,本篇主要介绍稍微复杂的查询形式。 表运算符 表运算符的作用是把为其提供的表作为输入,经过逻辑查询处理,返回一个表结果。SQL Server支持四个表运...

雪飞鸿
昨天
0
0
杂事杂知识,

以前在写博客中,自己感觉函数,SQL查询常用的没必要多看多学习,今天想处理一个简单笛卡尔积问题,炸了!下面聊聊解决和感觉有意义的知识点 说问题拉点知识关于rownum的,这是Oracle系统查询...

长路慢
02/02
0
0
oracle多表查询之经典面试题

一、笛卡尔积 概念 笛卡尔乘积是指在数学中,两个集合X和Y的笛卡尓积(Cartesian product),又称直积,表示为X × Y,第一个对象是X的成员而第二个对象是Y的所有可能有序对的其中一个成员。...

lkee6760
2017/04/26
0
0
关系数据库

关系数据库: 关系模型由:关系数据结构、关系操作集合、关系完整性约束三部分。 关系模型三个方面:完整性约束、关系数据库系统中实现关系操作的一种语言、关系演算。 完整性约束: 关系 域...

mehome
2017/04/17
0
0

没有更多内容

加载失败,请刷新页面

加载更多

iOS切面编程

aop编程(面向切面编程),其原理也就是在不更改正常的业务处理流程的前提下,通过生成一个动态代理类,从而实现对目标对象嵌入附加的操作。在iOS中,要想实现相似的效果也很简单,利用OC的动态性,...

RainOrz
1分钟前
0
0
0006-Zookeeper指标分析

1. 问题描述 通过CDH管理平台,进入Zookeeper管理界面,Zookeeper的平均请求延迟、最小请求延迟、最大请求延迟指标趋势图维持不变,指标数据异常。 2.问题复现 登录CDH平台,进入Zookeeper管...

Hadoop实操
9分钟前
0
0
PAT(Basic Level) 乙级练习题 ------ 1047 编程团体赛 java

1047.编程团体赛 题目: 编程团体赛的规则为:每个参赛队由若干队员组成;所有队员独立比赛;参赛队的成绩为所有队员的成绩和;成绩最高的队获胜。 现给定所有队员的比赛成绩,请你编写程序找...

Carol998
13分钟前
0
0
抓包

1、下载 2、 tcpdump -i em1 host 目标域名 -n -X -s0 -w 写入文件名

HenryZhou2
15分钟前
0
0
axios 实现下载excel文件的说明~~~~遇到一个大坑,还是没有熟悉源码的罪过

本来下载文件直接用a标签,非常easy,但是如果数据量巨大的话,没有loading效果,用户体验非常差。优化项目的时候领导要求必须修改。因此只能用axios来下载了。 a标签下载: <a :href="dow...

YJ_
16分钟前
0
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部