zoukankan      html  css  js  c++  java
  • 【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
    版权声明:本文为博主原创文章,转载请附上博文链接!

  • 相关阅读:
    BigDecimal加减乘除计算方式
    Element-UI 关于table中fixed使用和table样式混乱问题处理
    java集合框架中contains(),containsKey()和containsValue()的用法
    Vue中子组件watch监听props中父组件对象的变化的坑
    js中使用splice在一次循环删除数组中的多个元素
    Java中instanceof关键字的理解
    List.contains(Object object)方法,比较对象是否相同
    Vue 动态路由的实现以及 Springsecurity 按钮级别的权限控制
    sql中#与$的区别
    Vue自定义指令实现按钮级权限控制功能
  • 原文地址:https://www.cnblogs.com/xiaoshen666/p/11005005.html
Copyright © 2011-2022 走看看