当前位置: 首页 > news >正文

【java】查重类的实现

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
版权声明:本文为博主原创文章,转载请附上博文链接!

转载于:https://www.cnblogs.com/xiaoshen666/p/11005005.html

相关文章:

  • 解决Visual Studio 2017隐藏“高级保存选项”命令
  • 深入理解HashMap(JDK1.8)
  • install web3 1.0
  • 1_achcom
  • WinServer-SMTP服务
  • maccms代码审计
  • 模块封装与程序集
  • 剑指offer系列15:栈的压入、弹出序列
  • go语言快速入门教程
  • 物理学界四大神兽
  • Redis数据操作
  • Vue2.0 中,“渐进式框架”和“自底向上增量开发的设计”这两个概念是什么?(转)...
  • 9、Java语句
  • [转载]SQL Server查找包含某关键字的存储过程3种方法
  • Android 项目优化(二):启动页面优化
  • 【跃迁之路】【444天】程序员高效学习方法论探索系列(实验阶段201-2018.04.25)...
  • canvas 绘制双线技巧
  • Fundebug计费标准解释:事件数是如何定义的?
  • HTTP中的ETag在移动客户端的应用
  • JS正则表达式精简教程(JavaScript RegExp 对象)
  • Linux编程学习笔记 | Linux IO学习[1] - 文件IO
  • PAT A1050
  • Python代码面试必读 - Data Structures and Algorithms in Python
  • python学习笔记 - ThreadLocal
  • seaborn 安装成功 + ImportError: DLL load failed: 找不到指定的模块 问题解决
  • Spring-boot 启动时碰到的错误
  • Spring技术内幕笔记(2):Spring MVC 与 Web
  • 包装类对象
  • 大快搜索数据爬虫技术实例安装教学篇
  • 京东美团研发面经
  • 老板让我十分钟上手nx-admin
  • 扫描识别控件Dynamic Web TWAIN v12.2发布,改进SSL证书
  • 使用Gradle第一次构建Java程序
  • 数据可视化之 Sankey 桑基图的实现
  • 通信类
  • 系统认识JavaScript正则表达式
  • 在electron中实现跨域请求,无需更改服务器端设置
  • 【运维趟坑回忆录】vpc迁移 - 吃螃蟹之路
  • ​Linux·i2c驱动架构​
  • ​七周四次课(5月9日)iptables filter表案例、iptables nat表应用
  • ​虚拟化系列介绍(十)
  • (14)Hive调优——合并小文件
  • (二) Windows 下 Sublime Text 3 安装离线插件 Anaconda
  • (二)Pytorch快速搭建神经网络模型实现气温预测回归(代码+详细注解)
  • (附源码)计算机毕业设计SSM保险客户管理系统
  • (企业 / 公司项目)前端使用pingyin-pro将汉字转成拼音
  • (推荐)叮当——中文语音对话机器人
  • (五) 一起学 Unix 环境高级编程 (APUE) 之 进程环境
  • (一)为什么要选择C++
  • (原创) cocos2dx使用Curl连接网络(客户端)
  • (转载)深入super,看Python如何解决钻石继承难题
  • **PHP二维数组遍历时同时赋值
  • .apk文件,IIS不支持下载解决
  • .gitignore文件_Git:.gitignore
  • .Net Web项目创建比较不错的参考文章