Java通过ArrayList的contains(Object o)方法实现去重字符串中的字符

Posted gjqdream

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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);
    

 

以上是关于Java通过ArrayList的contains(Object o)方法实现去重字符串中的字符的主要内容,如果未能解决你的问题,请参考以下文章

[Java]ArrayList集合的contains方法

Java ArrayList 中的 contains() 方法是不是使用二进制搜索?

Java List.contains(ArrayList<String> 字段值等于 x)

HashSet的contains()和ArrayList的contains()方法哪个更快一些?

ArrayList 的自定义 Contains 方法

Arraylist.contains 不会检查字符串