取得<root>下所有的<ST>标签stList为参数
sameList装所有相同属性的标签集合
sameTitalList装sameList
可以抽象为如下示例:
stList:{1,2,1,2,2,1,1,1}
sameList:{1,1,1,1} ; sameList:{2,2,2}
sameTitalList:{1,1,1,1},{2,2,2}
private List<ArrayList<Element>> getSameList(ArrayList<Element> stList) {
List<ArrayList<Element>> sameTitalList = new ArrayList<ArrayList<Element>>();
for (int i = 0; i < stList.size() - 1; i++) {
ArrayList<Element> sameList = new ArrayList<Element>();
boolean flag = false;
if (i != 0) {
for (int m = 0; m < i; m++) {
if (hasSameAttrs(stList.get(i), stList.get(m))) {
flag = false;
break;
}else{
flag = true;
}
}
}else{
flag = true;
}
if(flag){
sameList.add(stList.get(i));
for (int j = i + 1; j < stList.size(); j++) {
// 属性相等
if (hasSameAttrs(stList.get(i), stList.get(j))) {
sameList.add(stList.get(j));
}
}
sameTitalList.add(sameList);
}
}
return sameTitalList;
}
sameList装所有相同属性的标签集合
sameTitalList装sameList
可以抽象为如下示例:
stList:{1,2,1,2,2,1,1,1}
sameList:{1,1,1,1} ; sameList:{2,2,2}
sameTitalList:{1,1,1,1},{2,2,2}
private List<ArrayList<Element>> getSameList(ArrayList<Element> stList) {
List<ArrayList<Element>> sameTitalList = new ArrayList<ArrayList<Element>>();
for (int i = 0; i < stList.size() - 1; i++) {
ArrayList<Element> sameList = new ArrayList<Element>();
boolean flag = false;
if (i != 0) {
for (int m = 0; m < i; m++) {
if (hasSameAttrs(stList.get(i), stList.get(m))) {
flag = false;
break;
}else{
flag = true;
}
}
}else{
flag = true;
}
if(flag){
sameList.add(stList.get(i));
for (int j = i + 1; j < stList.size(); j++) {
// 属性相等
if (hasSameAttrs(stList.get(i), stList.get(j))) {
sameList.add(stList.get(j));
}
}
sameTitalList.add(sameList);
}
}
return sameTitalList;
}