最近在学校作大创项目,用到查重机制,写了一个查重类java
附上代码:数组
import java.util.Vector;
public class ElementCheck {
// 重复优先
static Vector CheckSameElement1(Vector test) {
Vector markA = new Vector();
Vector markB = new Vector();
for (int i = 0; i < test.size(); i++) {
markA.add(0);
}
for (int i = 0; i < test.size(); i++) {
if (markA.get(i) != 1) {
for (int n = i + 1; n < test.size(); n++) {
if (markA.get(n) != 1) {
try {
if (test.get(i).equals(test.get(n))) {
if (markA.get(i) != 1) {
markB.add(i);
}
markA.set(n, 1);
markA.set(i, 1);
markB.add(n);
}
} catch (Exception e) {
}
}
}
}
}
return markB;
}
// 序号排列优先
static Vector CheckSameElement2(Vector test) {
Vector markA = new Vector();
Vector markB = new Vector();
for (int i = 0; i < test.size(); i++) {
markA.add(0);
}
int a = 0;
for (int i = 0; i < test.size(); i++) {
if (markA.get(i) != 1) {
for (int n = i + 1; n < test.size(); n++) {
if (markA.get(n) != 1) {
try {
if (test.get(i).equals(test.get(n))) {
markA.set(n, 1);
markA.set(i, 1);
}
} catch (Exception e) {
}
}
}
}
}
for (int i = 0; i < test.size(); i++) {
if (markA.get(i) == 1) {
markB.add(i);
}
}
return markB;
}
static Vector CheckDifferentElement(Vector test) {
Vector markA = new Vector();
Vector markB = new Vector();
for (int i = 0; i < test.size(); i++) {
markA.add(0);
}
int a = 0;
for (int i = 0; i < test.size(); i++) {
if (markA.get(i) != 1) {
for (int n = i + 1; n < test.size(); n++) {
if (markA.get(n) != 1) {
try {
if (test.get(i).equals(test.get(n))) {
markA.set(n, 1);
markA.set(i, 1);
}
} catch (Exception e) {
}
}
}
}
}
for (int i = 0; i < test.size(); i++) {
if (markA.get(i) != 1) {
markB.add(i);
}
}
return markB;
}
}
类及方法的说明:spa
类:ElementCheckcode
CheckSameElement1(Vector test)排序
Vector test:目标数组get
将目标数组中重复的元素的序号以Vector类型返还,排序方式为重复优先io
CheckSameElement2(Vector test)class
Vector test:目标数组test
将目标数组中重复的元素的序号以Vector类型返还,排序方式为序号排列优先import
CheckDifferentElement(Vector test)
Vector test:目标数组
将目标数组中不重复的元素的序号以Vector类型返还