A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

lion86

中级黑马

  • 黑马币:116

  • 帖子:63

  • 精华:0

© lion86 中级黑马   /  2017-2-13 23:53  /  990 人查看  /  5 人回复  /   1 人收藏 转载请遵从CC协议 禁止商业使用本文

怎么从一字符串中把相同的字符删掉?用什么方法啊?求大神指点

5 个回复

倒序浏览
同问?????????
来自宇宙超级黑马专属苹果客户端来自宇宙超级黑马专属苹果客户端
回复 使用道具 举报
回复 使用道具 举报
可以使用hashset去重,但是不保证顺序
[Java] 纯文本查看 复制代码
	public static String DelStr(String str){
		HashSet<Character> hs = new HashSet<Character>();
		StringBuilder sb = new StringBuilder();
		char[] arr = str.toCharArray();
		for (int i = 0; i < arr.length; i++) {
			hs.add(arr[i]);
		}
		for (char c : hs) {
			sb.append(c + "");
		}
		return sb.toString();
	}
回复 使用道具 举报
也可以用ArrayList,使用它的contains方法判断是否包含来去重
[AppleScript] 纯文本查看 复制代码
	public static String DelStr(String str){
		ArrayList<Character> list = new ArrayList<>();
		char[] arr = str.toCharArray();
		for (int i = 0; i < arr.length; i++) {
			if (!list.contains(arr[i])) {
				list.add(arr[i]);
			}
		}
		str = "";
		for (char c : list) {
			str += c + "";
		}
		return str;
	}
回复 使用道具 举报
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马