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. 自己动手写最简单的Android驱动---LED驱动的编写【转】

    本文转载自:http://blog.csdn.net/k_linux_man/article/details/7023824 转载注明出处,作者:K_Linux_Man, 薛凯 山东中医药大学,给文章 ...

  2. [Django基础] django解决静态文件依赖问题以及前端引入方式

    一.静态文件依赖 学习django的时候发现静态文件(css,js等)不能只在html中引入,还要在项目的settings中设置,否则会报以下错误 [11/Sep/2018 03:18:15] &qu ...

  3. VS2013在右键菜单添加命令插件开发

    一.选择Visual Studio Package模板建立插件项目 由于此功能需要在右键菜单上添加命令,所以选择Visual Studio Package模板,根据模板向导步骤插件项目,在Select ...

  4. 杂项:Java un

    ylbtech-杂项:Java 1.返回顶部   2.返回顶部   3.返回顶部   4.返回顶部   5.返回顶部     6.返回顶部   作者:ylbtech出处:http://ylbtech. ...

  5. Tensorflow卷积接口总结

    tf.nn.conv2d(input, filter, strides, padding, use_cudnn_on_gpu=None, name=None) 这个接口用了这么久,每次都有点迷惑,这里 ...

  6. Hibernate4 拦截器(Interceptor) 实现实体类增删改的日志记录

    转自:https://blog.csdn.net/he90227/article/details/44783099 开发应用程序的过程中,经常会对一些比较重要的数据修改都需要写日志.在实际工作的工程中 ...

  7. 06_传智播客iOS视频教程_源文件后缀名和main函数

    OC与C语言的不同. 把OC程序运行起来,CPU只会找main函数.并且只会执行main函数当中的代码.当main函数的代码执行完毕之后这个程序就自动结束掉了. main函数的参数是可以让我们在运行程 ...

  8. Ruby Time类和Date类

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

  9. idea设置控制台不打印日志

    这样做的好处是当想打印数据到控制台查看就特别方便,这个在大数据spark sql使用的多.当然如果代码报错也会打印,这个不必担心. 方案Ⅰ 方法是将这个log日志文件放到idea的资源目录里即可 lo ...

  10. 洛谷 P3355 骑士共存问题【最小割】

    同方格取数问题:https://www.cnblogs.com/lokiii/p/8430720.html 记得把障碍点去掉,不连边也不计入sum #include<iostream> # ...