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. mongodb06---索引

    索引(就像书的目录,先找大致的位置再细找,不是从头开始找): mongodb每行的列可以完全不同,没有列的概念. 索引作用类型: :单列索引 :多列索引 :子文档索引 索引性质: :普通索引 .唯一索 ...

  2. 织梦DEDE系统跨站跨数据库调用数据显示

    调用方法 本标签的调用格式为: {dede:sql sql="一条完整的SQL语句" appname="数据库配置参数"}您的底层模板{/dede:sql} 稍 ...

  3. POJ - 3308 Paratroopers(最大流)

    1.这道题学了个单词,product 还有 乘积 的意思.. 题意就是在一个 m*n的矩阵中,放入L个敌军的伞兵,而我军要在伞兵落地的瞬间将其消灭.现在我军用一种激光枪组建一个防御系统,这种枪可以安装 ...

  4. BZOJ_2819_Nim_树状数组维护出栈入栈序

    BZOJ_2819_Nim_树状数组维护出栈入栈序 Description 著名游戏设计师vfleaking,最近迷上了Nim.普通的Nim游戏为:两个人进行游戏,N堆石子,每回合可以取其中某一堆的任 ...

  5. 【转】Commonjs规范及Node模块实现

    前言: Node在实现中并非完全按照CommonJS规范实现,而是对模块规范进行了一定的取舍,同时也增加了少许自身需要的特性.本文将详细介绍NodeJS的模块实现 引入 nodejs是区别于javas ...

  6. VMware虚拟机安装WinXP出现错误output error file to the following location A:\GHOSTERR.TXT

    我们安装Ghost版WinXP系统的时候,可能会出现一个如下图这样的错误:output error file to the following location A:\GHOSTERR.TXT. 出现 ...

  7. vue tab切换demo

    定义tab页面切换的内容 var app=new Vue({ el:'#app', data:{ navTabs:[ { text:"tab1", isActive:true, t ...

  8. 去除inline-block的间隙

    产生间隙的原因就是标签之间的空格,去除的方法: 1 设置父元素的font-size:0;空格字符的宽高都为0, <div class="demo1 demo2"> &l ...

  9. Java 支持JavaScript脚本计算

    Java支持了JavaScript脚本的执行计算能力: import javax.script.Invocable; import javax.script.ScriptEngine; import ...

  10. bzoj 1180: [CROATIAN2009]OTOCI【LCT】

    一道几乎是板子的LCT,但是沉迷数学很久时候突然1A了这道题还是挺开心的 #include<iostream> #include<cstdio> using namespace ...