public static String deleSubSet() { char[] parent = {'0','1','2','3','4','5','6','7','8','9'};
Arrays.sort(parent);
char[] subSet = {'6','3','4',};
Arrays.sort(subSet); StringBuffer sb = new StringBuffer(); for (int i = 0, k = 0; i < parent.length; i++) { if (parent[i] == subSet[k]) {
k++;
} else {
sb.append(parent[i]);
}
} return sb.toString(); }作用:将parent中,包含subSet的元素删除,然后返回被删除后的parent看这个代码有什么问题。
for (int i = 0, k = 0; i < parent.length; i++) { if (k<subSet.length && i<parent.length && parent[i] == subSet[k]) {
k++;
} else {
sb.append(parent[i]);
}
}
import java.util.*;public class Del
{
public static void main(String[] args) {
char[] parent = {'0','1','2','3','4','5','6','7','8','9'};
Arrays.sort(parent);
char[] subSet = {'6','3','4',};
Arrays.sort(subSet); StringBuffer sb = new StringBuffer(); for (int i = 0, k = 0; i < parent.length; i++) { if (k<subSet.length && parent[i] == subSet[k]) {
k++;
} else {
sb.append(parent[i]);
}
} System.out.println(sb); //return sb.toString();
}
}
这样就可以了
Character[] parent = {'0','1','2','3','4','5','6','7','8','9'};
Character[] subSet = {'6','3','4',};
ArrayList<Character> pArrayList = new ArrayList<Character>();
ArrayList<Character> sArrayList = new ArrayList<Character>();
pArrayList.addAll(Arrays.asList(parent));
sArrayList.addAll(Arrays.asList(subSet));
pArrayList.removeAll(sArrayList);
return pArrayList.toString();
}