这是我用来从给定交易构建大型交易的功能。(数据挖掘)
声明database
是private List<String[]> database = null;
声明MTdatabase
是private List<String[]> MTdatabase = null;
在调用此函数之前database
具有所有必需的数据并且MTdatabase
最初是空的。我从中获取数据database
,对其进行修改,然后将其存储在MTdatabase
.
我没有修改 中的任何数据database
,但我不知道为什么值database
会改变。
MTrans
在 for 循环中进行了修改,但由于我没有使用itrdb.set()
,因此不应在database
. 我不想修改database
。我试图存储 in 的初始值MTrans
以ntrans
保持database
相同的数据,但ntrans
每次更改时MTrans
都会更改。代码ntrans
显示为注释。
private void BuildMegaTransactions(List<String> frequent1) {
MTdatabase = new ArrayList<String[]>();
String[] MTrans;
//String[] ntrans;
int count=0;
ListIterator<String []> itrdb=database.listIterator();
while(itrdb.hasNext())
{
MTrans=itrdb.next();
//ntrans=Mtrans;
int len=MTrans.length;
for(int i=0;i<len;i++)
{
if(Frequent(MTrans[i],frequent1))
MTrans[i]=MTrans[i].concat(String.valueOf(count));
else
{
MTrans=removeElements(MTrans,MTrans[i]);
len=MTrans.length;
i=i-1;
}
}
//itrdb.set(ntrans);
MTdatabase.add(MTrans);
count++;
}
}
代码有什么问题吗?不想修改怎么办database
?有没有办法存储初始值MTrans
并在以后使用它?