需要写java代码来实现动态比较居网的任意2台机器的同名数据库的表是否相同 字段是否相同 以及详细信息是否相同 首先要完成一个功能 ,
有2个list List<String> alist ; List<String> balist
现在alist里string名字都不同 , blist也一样。
需要完成的功能是 把alist的每个string循环取出 ,看他是否在blist里,如果不在添加这个string到clist里;
反过来,也要做, 把blist的每个string循环取出 ,看他是否在alist里,如果不在添加这个string到clist里清问这段代码如何写?
有2个list List<String> alist ; List<String> balist
现在alist里string名字都不同 , blist也一样。
需要完成的功能是 把alist的每个string循环取出 ,看他是否在blist里,如果不在添加这个string到clist里;
反过来,也要做, 把blist的每个string循环取出 ,看他是否在alist里,如果不在添加这个string到clist里清问这段代码如何写?
List alist = new ArrayList();
List balist = new ArrayList();
for (int i = 0; i < alist.size(); i++) {
String aStr = (String) alist.get(i);
if (!balist.contains(aStr)) {
balist.add(aStr);
}
}
}
balist到alist也一样
List<String> blist=new ArrayList<String>();
List<String> clist=new ArrayList<String>();
String temp=null;
alist.add("a.sport");
alist.add("a.sport2");
alist.add("a.sport4");
blist.add("a.sport3");
blist.add("a.sport2");
blist.add("a.sport4");
for(int i=0;i<alist.size();i++)
{ if(!blist.contains(alist.get(i)))
{
temp="alist "+alist.get(i);
clist.add(temp);
}
}
for(int i=0;i<blist.size();i++)
{ if(!alist.contains(blist.get(i)))
{
temp="blist "+blist.get(i);
clist.add(temp);
} }
for(int i=0;i<clist.size();i++)
System.out.println(i+": " + clist.get(i) );
blist也一样的额这样比较起来比较有难度
首先要判断alist的record的第1个项目的值所对应的额blist对应的record
之后要比较2个record是否相同(也就是2个record还要比较9次,完全相同才真正相同 否则打印出不同的地方给clist)
List<String> blist = new ArrayList<String>();
List<String> clist = new ArrayList<String>();
for (String str : alist) {
clist.add(str);
}
alist.retainAll(blist); clist.removeAll(alist);
blist.removeAll(alist); clist.addAll(blist);
现在是alist是 List <record> record大概有10个项目,判断alist的record的第1个项目的值所对应的额blist对应的record
之后要比较2个record是否相同(也就是2个record还要比较9次,完全相同才真正相同 否则打印出不同的地方给clist)
--------这个如何实现
for(int i=0;i <blist.size();i++) private boolean compare(Record record){
if((this.address1==null) || (this.address1.equals("")) || (record.address1==null) || (record.address1.equals("")) )
return false;
else if(this.address1.compareTo(record.address1)>0)
return true;
else
return false;
}
public static List<Record> sort(List<Record> recordList){
for(int i = 0;i<recordList.size();i++){
for(int j=i+1;j<recordList.size();j++){
if(!recordList.get(i).compare(recordList.get(j))){
Record record = recordList.get(i);
recordList.set(i, recordList.get(j));
recordList.set(j, record);
}
}
}
for(Record record1:recordList){
System.out.println(record1.getFullName());
}
return recordList;
}private boolean compare(Record record){
if((this.address1==null) || (this.address1.equals("")) || (record.address1==null) || (record.address1.equals("")) )
return false;
else if(this.address1.compareTo(record.address1)>0)
return true;
else
return false;
}
public static List<Record> sort(List<Record> recordList){
for(int i = 0;i<recordList.size();i++){
for(int j=i+1;j<recordList.size();j++){
if(!recordList.get(i).compare(recordList.get(j))){
Record record = recordList.get(i);
recordList.set(i, recordList.get(j));
recordList.set(j, record);
}
}
}
for(Record record1:recordList){
System.out.println(record1.getFullName());
}
return recordList;
}