Java通過ArrayList的contains(Object o)方法實現去重字符串中的字符


1、步驟:

1)ArrayList的contains方法的簡介:

public boolean contains(Object o)

如果此列表包含指定的元素o,則返回true

2)重寫equals方法以便使用自己的方式去對比集合中的兩個對象是否相同:

// 重寫equals方法
public boolean equals(Object obj) {
    if (obj instanceof myChar) {
        return ((myChar)obj).getValue() == this.value;
    }
    return false;
}

3)完整的實現代碼:

import java.util.ArrayList;
import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner s = new Scanner(System.in);
        char[] arr = s.nextLine().toCharArray();
        ArrayList<myChar> myList = new ArrayList<>();
        for (char c : arr) {
            myChar mc = new myChar(c);
            if (!myList.contains(mc)) myList.add(mc);
        }
        for (myChar m : myList) {
            System.out.print(m);
        }
    }
}

class myChar {
    private char value;
    myChar() {}
    myChar(char value) {
        this.value = value;
    }
    public char getValue() {
        return this.value;
    }
    // 重寫equals方法
    public boolean equals(Object obj) {
        if (obj instanceof myChar) {
            return ((myChar)obj).getValue() == this.value;
        }
        return false;
    }
    // 重寫toString()方法以便可以直接輸出該對象
    public String toString() {
        return String.valueOf(this.value);
    }
}

 


免責聲明!

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



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