【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
版權聲明:本文為博主原創文章,轉載請附上博文鏈接!


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM