import java.util.Vector;

public class ElementCheck {

    // 重复优先
static Vector<Integer> CheckSameElement1(Vector<String> test) {
Vector<Integer> markA = new Vector();
Vector<Integer> 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<Integer> CheckSameElement2(Vector<String> test) {
Vector<Integer> markA = new Vector();
Vector<Integer> 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<Integer> CheckDifferentElement(Vector<String> test) {
Vector<Integer> markA = new Vector();
Vector<Integer> 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;
}
}

类及方法的说明:

类:ElementCheck

CheckSameElement1(Vector<String> test)

Vector<String> test:目标数组

将目标数组中重复的元素的序号以Vector<Integer>类型返还,排序方式为重复优先

CheckSameElement2(Vector<String> test)

Vector<String> test:目标数组

将目标数组中重复的元素的序号以Vector<Integer>类型返还,排序方式为序号排列优先

CheckDifferentElement(Vector<String> test)

Vector<String> test:目标数组

将目标数组中不重复的元素的序号以Vector<Integer>类型返还

---------------------
作者:小轩砸
来源:CSDN
原文:https://blog.csdn.net/m0_37459696/article/details/68939768
版权声明:本文为博主原创文章,转载请附上博文链接!

【java】查重类的实现的更多相关文章

  1. Java 查漏补缺

    摘自<老马说编程> 计算机程序的思维逻辑 (4) - 整数的二进制表示与位运算 Java中不支持直接写二进制常量,比如,想写二进制形式的11001,Java中不能直接写,可以在前面补0,补 ...

  2. 【NLP】Python实例:申报项目查重系统设计与实现

    Python实例:申报项目查重系统设计与实现 作者:白宁超 2017年5月18日17:51:37 摘要:关于查重系统很多人并不陌生,无论本科还是硕博毕业都不可避免涉及论文查重问题,这也对学术不正之风起 ...

  3. java 学习笔记——类之间的关系之封装、继承与多态的详解

    封装 一个封装的简单例子 封装就是把对象的属性(状态)和方法(行为)结合在一起,并尽可能隐蔽对象的内部细节,成为一个不可分割的独立单位(即对象),对外形成一个边界,只保留有限的对外接口使之与外部发生联 ...

  4. 【NLP】Python实例:基于文本相似度对申报项目进行查重设计

    Python实例:申报项目查重系统设计与实现 作者:白宁超 2017年5月18日17:51:37 摘要:关于查重系统很多人并不陌生,无论本科还是硕博毕业都不可避免涉及论文查重问题,这也对学术不正之风起 ...

  5. Java 数学操作类

    数学操作类 Math类 数学计算操作类 类属性值 Math.E ^ Math.PI 圆周率 类方法 Math类中,一切方法都是 static 型,因为Math类中没有普通属性. round() 方法 ...

  6. Java集合---Array类源码解析

    Java集合---Array类源码解析              ---转自:牛奶.不加糖 一.Arrays.sort()数组排序 Java Arrays中提供了对所有类型的排序.其中主要分为Prim ...

  7. 在PHP项目中使用Standford Moss代码查重系统

    Standford Moss 系统是斯坦福大学大名鼎鼎的代码查重系统,它可以查出哪些同学提交的代码是抄袭别人的,从而将提交结果拒之门外.它对一切希望使用该系统的人都是开放的,那么在PHP的项目中如何使 ...

  8. Java:日历类、日期类、数学类、运行时类、随机类、系统类

    一:Calendar类 java.util 抽象类Calendar   1.static Calendar getInstance()使用默认时区和语言环境获得一个日历. 2. int get(int ...

  9. java.io.File类

    java.io.File类 1.凡是与输入.输出相关的类.接口等都定义在java.io包下 2.File是一个类.能够有构造器创建其对象.此对象相应着一个文件(.txt .avi .doc .ppt ...

随机推荐

  1. How to check HTML version of any website

    http://howtocheckversion.com/check-html-version-website/ Check HTML version via W3C W3 Consortium ha ...

  2. CodeForces 730G Car Repair Shop (暴力)

    题意:给定 n 个工作的最好开始时间,和持续时间,现在有两种方法,第一种,如果当前的工作能够恰好在最好时间开始,那么就开始,第二种,如果不能,那么就从前找最小的时间点,来完成. 析:直接暴力,每次都先 ...

  3. Ruby Time类和Date类

    Time类 更新: 2017/06/23 更新了Data/Time在model模式下的便利方法 更新: 2018/10/12 修改了%Y相关描述防止误解  年月日时分秒,时区    生成  获取当前时 ...

  4. HDU1175:连连看(搜索)

    传送门 题意 给定一个n*m的矩阵,询问q次,两个方块是否能被消掉,弯折次数不超过两次 分析 这题写了有一个下午,思路很简单,但是有很多trick,(唉),我还是太弱 trick 初始判断:1.两点不 ...

  5. 【HDU - 1241】Oil Deposits(dfs+染色)

    Oil Deposits Descriptions: The GeoSurvComp geologic survey company is responsible for detecting unde ...

  6. vue中使用element写点击input内部标签(使用模态框传值)

    首先附上源码地址 https://files.cnblogs.com/files/maruihua/vue-tagsinput-master.zip 这个是我修改后的代码.取消了部分功能,添加的一些功 ...

  7. 标准块CP功能实现

    #include<stdio.h> int main(int argc,char *argv[]) { FILE *src_fp,*des_fp; int src_ret; ]={}; ) ...

  8. 字符串处理 Codeforces Round #285 (Div. 2) B. Misha and Changing Handles

    题目传送门 /* 题意:给出一系列名字变化,问最后初始的名字变成了什么 字符串处理:每一次输入到之前的找相印的名字,若没有,则是初始的,pos[m] 数组记录初始位置 在每一次更新时都把初始pos加上 ...

  9. java 字符串截取的几种方式

    1.split()+正则表达式来进行截取. 将正则传入split().返回的是一个字符串数组类型.不过通过这种方式截取会有很大的性能损耗,因为分析正则非常耗时. String str = " ...

  10. windowsEvents

    今天我们要实现这个关闭窗口的功能,就是点窗口的那个叉叉它会关闭. 设计窗口的事件就是WindowsEvents,而与之有关的监听器就是WindowsListener WindowsListener也是 ...