• 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);
        }
    }
  • 相关阅读:
    Vim编辑器-Basic Visual Mode
    Vim编辑器-Windows
    Vim编辑器-Searching
    Vim编辑器-Text Blocks and Multiple Files
    Vim编辑器-Editing a Little Faster
    Vim编辑器-Basic Editing
    Android12系统源码分析:NativeTombstoneManager
    为什么色彩管理很重要?
    使用chrome调试代码时引入jquery
    抖音、微信超火中国红头像制作
  • 原文地址:https://www.cnblogs.com/GjqDream/p/11619558.html
Copyright © 2020-2023  润新知