package bao;
/*
* 作成日: 2005/07/12
*
* この生成されたコメントの挿入されるテンプレートを変更するため
* ウィンドウ > 設定 > Java > コード生成 > コードとコメント
*/
/**
* @author luyj
*
* この生成されたコメントの挿入されるテンプレートを変更するため
* ウィンドウ > 設定 > Java > コード生成 > コードとコメント
*/
///////////////////////////////////////
//import java.io.PrintStream;
import java.util.*;
import java.util.List;
///////////////////////////////////
public class Nihao {
public Nihao()
{
}
public static int initValue()
{
synchronized(random)
{
return random.nextInt();
}
}
public static boolean isMatchExclusiveKey(ArrayList primaryKeyIn[], ArrayList exclusiveKeyIn, ArrayList primaryKeyDB[], ArrayList exclusiveKeyDB)
{
boolean flag = false;
if(primaryKeyIn != null && primaryKeyIn.length > 0 && primaryKeyDB != null && primaryKeyDB.length > 0 && primaryKeyIn.length == primaryKeyDB.length && exclusiveKeyIn.size() > 0 && exclusiveKeyIn.size() == exclusiveKeyDB.size())
{
sortEx(primaryKeyIn, exclusiveKeyIn);
sortEx(primaryKeyDB, exclusiveKeyDB);
flag = true;
for(int i = 0; flag && i < exclusiveKeyIn.size(); i++){
for(int j = 0; j < primaryKeyIn.length; j++){
if(primaryKeyIn[j].get(i).equals(primaryKeyDB[j].get(i)))
continue;
flag = false;
break;
}
if(!exclusiveKeyIn.get(i).equals(exclusiveKeyDB.get(i)))
flag = false;
}
}
return flag;
}
private static void sortEx(ArrayList primaryKey[], ArrayList exclusiveKey)
{
//System.out.println("exclusiveKey-----------"+exclusiveKey);
for(int i = primaryKey.length - 1; i >= 0; i--){
List list[] = new List[primaryKey.length];
//System.out.println("list[0]------------"+list[0]);
//System.out.println("list[1]------------"+list[1]);
//primaryKey[i].clear();
//System.out.println("primaryKey.length---------------------"+primaryKey.length);
int k = 0;
for(int j = 0; j < primaryKey.length; j++){
//System.out.println("primaryKey[j]-----------------"+j+"-------------"+primaryKey[j]);
if(i != j){
//System.out.println(list[k++]);
list[k++] = primaryKey[j];
//System.out.println("primaryKey[j]-----------------"+j+"-------------"+primaryKey[j]);
}
}
//list[primaryKey.length - 1].clear();
list[primaryKey.length - 1] = exclusiveKey;
//System.out.println("list.length2-----------"+list.length);//===2
sort(primaryKey[i], list);
//System.out.println("i--------------"+i);
//list[0].clear();
//list[1].clear();
//primaryKey[i].clear();
}
}
private static void sort(List key, List value[])
{
System.out.println("************************ start ****************************");
System.out.println("key-------------"+key);
System.out.println("value0---------"+value[0]);
System.out.println("value1---------"+value[1]);
Object keyArray[] = key.toArray();
//System.out.println("**************************** key.toArray()-----------------"+keyArray.length);
int sorted[] = new int[keyArray.length];
for(int i = 0; i < keyArray.length; i++){
sorted[i] = i;
//System.out.println("sorted["+i+"]----------"+sorted[i]);
}
for(int i = keyArray.length - 1; i >= 0; i--){
System.out.println("-------中分類--"+i+"-----------");
for(int j = 0; j < i; j++){
//System.out.println("keyArrayV["+j+"]-------------"+keyArray[j].toString());
//System.out.println("keyArrayV++["+(j+1)+"]***************"+keyArray[j + 1].toString());
System.out.println("-------中分類--"+i+"----小分類--"+j+"----");
if(keyArray[j].toString().compareTo(keyArray[j + 1].toString()) > 0){
System.out.println("keyArray["+j+"]-------------"+keyArray[j].toString());
System.out.println("keyArray++["+(j+1)+"]*******************"+keyArray[j + 1].toString());
Object work = keyArray[j];
keyArray[j] = keyArray[j + 1];
keyArray[j + 1] = work;
int work2 = sorted[j];
sorted[j] = sorted[j + 1];
sorted[j + 1] = work2;
}else if(keyArray[j].toString().compareTo(keyArray[j + 1].toString()) == 0){
System.out.println("------------- hehe -------------");
}
}
}
Object valueArray[] = new Object[key.size()];
for(int i = 0; i < key.size(); i++){
Object valueObj[] = new Object[value.length];
for(int j = 0; j < value.length; j++)
valueObj[j] = value[j].get(i);
valueArray[i] = ((Object) (valueObj));
System.out.println("valueArray["+i+"]=========="+valueArray[i]);
}
for(int i = 0; i < key.size(); i++){
key.set(i, keyArray[i]);
Object valueObj[] = (Object[])valueArray[sorted[i]];
for(int j = 0; j < value.length; j++)
value[j].set(i, valueObj[j]);
}
}
private static Random random = new Random();
}