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 List.contains(ArrayList<String> 字段值等于 x)