Atitit 数据join 的原理与java实现
Atitit join表连接的原理与实现
13、SQL Server 表连接的三种方式
(1) Merge Join
(2) Nested Loop Join
(3) Hash Join
Relst
[
{
"name":"at",
"age":11,
"addr":"addr1"
},
{
"name":"name22",
"age":22,
"addr":"addr22222"
}
]
/springbootUpload/src/springbootUploadPkg/joinDemo.java
package springbootUploadPkg;
import java.util.ArrayList;
import java.util.LinkedHashMap;
import java.util.List;
import java.util.Map;
import com.alibaba.fastjson.JSON;
@SuppressWarnings("all")
public class joinDemo {
public static void main(String[] args) {
Double a = null; Double b = null;
// Double c=a*b;
List<Map> table1 = new ArrayList() {
{
this.add(new LinkedHashMap<String, Object>() {
{
this.put("name", "at");
this.put("age", 11);
}
});
this.add(new LinkedHashMap<String, Object>() {
{
this.put("name", "name22");
this.put("age", 22);
}
});
}
};
@SuppressWarnings("unchecked")
List<Map> table2 = new ArrayList() {
{
this.add(new LinkedHashMap<String, Object>() {
{
this.put("name", "at");
this.put("addr", "addr1");
}
});
this.add(new LinkedHashMap<String, Object>() {
{
this.put("name", "name22");
this.put("addr", "addr22222");
}
});
}
};
//使用且套循环连接join
for (Map row : table1) {
for (Map row2 : table2) {
if(row.get("name").equals(row2.get("name")))
row.putAll(row2);
}
}
System.out.println( JSON.toJSONString(table1, true) );
}
}