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,myChar,value,char,obj,return,public 来源: https://www.cnblogs.com/GjqDream/p/11619558.html